qq_29754969
天狼666
采纳率0%
2016-01-27 12:23 阅读 1.4k

程序会运行,可是有一些数据代入是错误的,请大神们指点一二!如下所示

问题描述
  给定 N 个整数,请你找出这 N 个数中最大的那个和最小的那个。
输入格式
  第一行包含一个正整数 N 。(1 ≤ N ≤ 10000)。
  第二行为 N 个用空格隔开的整数,每个数的绝对值不超过 1000000。
输出格式
  输出仅一行,包含两个整数 x,y,x 表示 N 个数中的最大值,y 表示 N 个数中的最小值。x,y 之间用一个空格隔开。
样例输入
4
2 0 1 2
样例输出
2 0
#include
int main()
{
int i,n,max,min;
int a[10000];
scanf("%d",&n);
for(i=0;i scanf("%d",&a[i]);
max=min=a[0];
for(i=1;i {
if(a[i]>max)
max=a[i];
if(a[i]<max)
min=a[i];
}
printf("%d %d",max,min);
return 0;
}
评测点序号 评测结果 得分 CPU使用 内存使用 下载评测数据
1 正确 10.00 0ms 1.628MB 输入 输出
2 正确 10.00 0ms 1.628MB VIP特权
3 错误 0.00 0ms 1.628MB VIP特权
4 错误 0.00 0ms 1.628MB VIP特权
5 错误 0.00 0ms 1.628MB VIP特权
6 错误 0.00 0ms 1.628MB VIP特权
7 错误 0.00 0ms 1.628MB VIP特权
8 错误 0.00 0ms 1.628MB VIP特权
9 错误 0.00 0ms 1.628MB VIP特权
10 错误 0.00 15ms 1.628MB VIP特权

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • qq_27183003 ysuwood 2016-01-27 12:41
     if(a[i]<min)//修改
    min=a[i];
    
    点赞 2 评论 复制链接分享
  • 91program 91program 2016-01-27 13:26

    绝对值不超过 1000000,你的代码少了一个零。
    但如果是 1000000,估计你就不能定义成数组了,必须动态分配内存。这也是这个题目的一个要点吧!

    点赞 评论 复制链接分享
  • lm_whales lm_whales 2016-01-27 16:44

    //除非所有数据都相同,否则最大和最小值是互斥的,所以两个 if 可以合并为一个 if ...else if...
    for(i=1;i if(a[i]>max)
    max=a[i];
    else if(a[i]<min)//当然,首先此处的错误要修正 max 改成 min
    min=a[i];
    }

    点赞 评论 复制链接分享

相关推荐