当前位置: 代码迷 >> C语言 >> [求助]错什么地方了啊?
  详细解决方案

[求助]错什么地方了啊?

热度:271   发布时间:2006-12-25 21:58:38.0
[求助]错什么地方了啊?

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);
}

顺便解释下.谢了..

搜索更多相关的解决方案: max  number  

----------------解决方案--------------------------------------------------------

修改后的:

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等的初值要是数组中的某个值才行。。。


----------------解决方案--------------------------------------------------------
前面的已经解决了。谢谢。
还有就是

{printf("please input the number: %d",num[i+1]);

这一句后面输出的数字不是对应的数字啊??

[此贴子已经被作者于2006-12-25 22:38:32编辑过]


----------------解决方案--------------------------------------------------------
以下是引用起点线在2006-12-25 22:34:02的发言:
前面的已经解决了。谢谢。
还有就是

{printf("please input the number: %d",i+1);//num[i+1]都没有值.

这一句后面输出的数字不是对应的数字啊??


----------------解决方案--------------------------------------------------------
我不知道你这一句是什么意思。。。
----------------解决方案--------------------------------------------------------
printf("please input the number: %d",num[i+1]);

你把num[i+1]放在这干嘛?
----------------解决方案--------------------------------------------------------

这个程序太混乱了
#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);
}


----------------解决方案--------------------------------------------------------
以下是引用起点线在2006-12-25 22:34:02的发言:
前面的已经解决了。谢谢。
还有就是

{printf("please input the number: %d",num[i+1]);

这一句后面输出的数字不是对应的数字啊??

同学,请看书注意下输出和输入的格式区别啊,不要混淆啊.
我没猜错的话你应该是想提示 使用者知道自己是输入第几个数吧?那样的话应该改为
printf("please input the number num[i+1]):\n");
----------------解决方案--------------------------------------------------------

以下是引用起点线在2006-12-25 22:34:02的发言:
前面的已经解决了。谢谢。
还有就是

{printf("please input the number: %d",num[i+1]);

这一句后面输出的数字不是对应的数字啊??

num[i+1]会溢出吧
----------------解决方案--------------------------------------------------------

  相关解决方案