题目要求是输入若干整数,当输入值小于0时,停止输入,输出其中最大的数

#include<stdio.h>
int main()
{
int a[100],c=0,i,j,max;
printf("请输入整数:\n");
for(i=0;;i++)
{
scanf("%d",&c);
if(c<0)break;
a[i]=c;
}
for(j=0;j<i-1;j++)
{
if(a[i]<a[i+1])
max=a[i+1];
}
printf("你输入的整数中最大的数为:%d\n",max);
return 0;
}
这个输出的答案为什么是-858993460

for(j=0;j<i-1;j++)
{
if(a[i]<a[i+1])
max=a[i+1];
}

变量写错了哦!
大括号里的i改成j
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-11
for(j=0;j<i-1;j++)
{
if(a[i]<a[i+1])
max=a[i+1];
}
里面用j,即
for(j=0;j<i-1;j++)
{
if(a[j]<a[j+1])
max=a[j+1];
}
第2个回答  2013-03-11
1. max没有初始化。
2. for(j=0;j<i-1;j++)
{
if(a[i]<a[i+1]) => if(a[j]<a[j+1])
max=a[i+1]; => max=a[j+1];
}
第3个回答  2013-03-11
max没有初始化
第4个回答  2013-03-11
初始化数组
相似回答