从键盘输入一组整数,找出最大的整数,当输入的整数为0时结束。例如,输入1 2 3 5 4 0时,最

从键盘输入一组整数,找出最大的整数,当输入的整数为0时结束。例如,输入1 2 3 5 4 0时,最大的数为5。(请附上程序代码的解释或者描述,越详细越好,万分感谢↖≥﹏≤↗)

#include<stdio.h>
void main(){
int a[20],b[20],i,cnt1=0,cnt2=0,max;
printf("输入一排数(只计算0之前的):");
for(i=0;scanf("%d",&a[i])&&getchar()!='\n';i++,cnt1++);
for(i=0;i<=cnt1;i++) {if(a[i]!=0) b[cnt2++]=a[i];else break;}
for(i=0;i<cnt2;i++) {max=b[0];if(b[i]>max) max=b[i];}
printf("max=%d\n",max);
}

刚才那位的方法可以的,我这里再提供一种方法。

追问

叨扰您了,第一个for循环中终止的条件是什么意思?

还没有解决(ಥ_ಥ)

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-11-10
#include <stdio.h>

#define MIN_NUM -2147483648

int main()
{
    int mx = MIN_NUM; //初始化为最小整数
    int a; 
    for(;;)
    {
        scanf("%d", &a); //输入a
        if(a > mx) //大于mx则更新mx等于a
            mx = a;
        if(a == 0) //等于0跳出
            break;
    }
    printf("%d\n", mx); //输出最大值 mx
    return 0;
}

本回答被提问者采纳
相似回答