main ()
{int num[20],i,max;
max=0;
for(i=0;i<20;i++)
{printf("please input the number: %d",num[i+1]);
scanf("%d",num[i]);
}
for(i=0;i<20;i++)
{if(num[i]>max) max=num[i];}
printf("Max number is: %d",max);
}
顺便解释下.谢了..
main ()
{int num[20],i,max;
max=0;
for(i=0;i<20;i++)
{printf("please input the number: %d",num[i+1]);
scanf("%d",num[i]);
}
for(i=0;i<20;i++)
{if(num[i]>max) max=num[i];}
printf("Max number is: %d",max);
}
顺便解释下.谢了..
修改后的:
main ()
{int num[20],i,max;
printf("please input the number: \n");
for(i=0;i<20;i++)
scanf("%d",&num[i]);
max=num[0];
for(i=1;i<20;i++)
if(num[i]>max) max=num[i];
printf("Max number is: %d",max);
getch();
}
你的:
main ()
{int num[20],i,max;
max=0;
for(i=0;i<20;i++)
{printf("please input the number: %d",num[i+1]);
scanf("%d",num[i]);
}
for(i=0;i<20;i++)
{if(num[i]>max) max=num[i];}
printf("Max number is: %d",max);
}
你自己对照一下吧
[此贴子已经被作者于2006-12-25 22:23:59编辑过]
说明一点。。。。。。要是求最大值最小值的话,把数组的第一个值赋给max。。max不要赋初值0
原因:如果这个数组全是负数,那么最大值必然也是负数,而如果那样写的话,最大值就是0了,但是0并不是数组中的 值。。。。也就是说此类问题,max等的初值要是数组中的某个值才行。。。
[此贴子已经被作者于2006-12-25 22:38:32编辑过]
这个程序太混乱了
#include<stdio.h>
main()
{
int num[20],i,max;
for(i=0;i<20;i++)
scanf("%d";&num[i]);
max=mum[0];
for(i=1;i<20;i++){
if(max<=num[i])
max=num[i];
}
printf("the greatest number is %d",max);
}
同学,请看书注意下输出和输入的格式区别啊,不要混淆啊.
我没猜错的话你应该是想提示 使用者知道自己是输入第几个数吧?那样的话应该改为
printf("please input the number num[i+1]):\n");
num[i+1]会溢出吧