标题:[求助]错什么地方了啊?
只看楼主
起点线
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-12-7
 问题点数:0 回复次数:15 
[求助]错什么地方了啊?

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 
2006-12-25 21:58
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
得分:0 

修改后的:

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编辑过]


这个社会太复杂。。。
2006-12-25 22:21
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
得分:0 

说明一点。。。。。。要是求最大值最小值的话,把数组的第一个值赋给max。。max不要赋初值0

原因:如果这个数组全是负数,那么最大值必然也是负数,而如果那样写的话,最大值就是0了,但是0并不是数组中的 值。。。。也就是说此类问题,max等的初值要是数组中的某个值才行。。。


这个社会太复杂。。。
2006-12-25 22:27
起点线
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-12-7
得分:0 
前面的已经解决了。谢谢。
还有就是

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

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

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


2006-12-25 22:34
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
以下是引用起点线在2006-12-25 22:34:02的发言:
前面的已经解决了。谢谢。
还有就是

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

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


倚天照海花无数,流水高山心自知。
2006-12-25 23:11
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
得分:0 
我不知道你这一句是什么意思。。。

这个社会太复杂。。。
2006-12-25 23:28
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
得分:0 
printf("please input the number: %d",num[i+1]);

你把num[i+1]放在这干嘛?

这个社会太复杂。。。
2006-12-25 23:29
huyekwok
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-12-15
得分:0 

这个程序太混乱了
#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 23:44
superkuuga
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-8-1
得分:0 
以下是引用起点线在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-26 00:40
zhangjuan
Rank: 1
等 级:新手上路
帖 子:992
专家分:0
注 册:2006-1-19
得分:0 
以下是引用起点线在2006-12-25 22:34:02的发言:
前面的已经解决了。谢谢。
还有就是

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

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

num[i+1]会溢出吧


2006-12-26 10:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-112084-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.569571 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved