主题:我是新手。高手进来帮忙看下,随你输入几个数字,然后输出最大的。
Lucifer6362290
[专家分:0] 发布于 2010-04-18 22:23:00
这个程序怎么改???
#include <stdio.h>
void main()
{
int max,m;
max=0;
for(;;)
{
printf("请输入数字\n");
scanf("%d",&m);
if (max<m) max=m;
if (m==0) break;
printf("max=%d\n",max);
}
}
回复列表 (共5个回复)
沙发
雪光风剑 [专家分:27190] 发布于 2010-04-18 22:31:00
只要把打印换到循环外面就好了
3 楼
雪光风剑 [专家分:27190] 发布于 2010-04-19 07:45:00
疏忽了,是因为break不能写在判断里,改用while就可以了
#include <stdio.h>
int main()
{
int max=0,m=1;
while(m!=0)
{
printf("请输入数字\n");
scanf("%d",&m);
if (max<m) max=m;
}
printf("max=%d\n",max);
return 0;
}
这样不行?
4 楼
C行天下 [专家分:10] 发布于 2010-04-19 22:45:00
[color=FF0000]以下代码能够实现你所要求的,输入个数自己确定,可以参考一下:[/color]
#include <stdio.h>
#define N 10 /*定义一个常量,控制数组元素个数*/
main()
{
int i,a[N],max;/*定义一个数组,元素个数由N控制*/
for(i=0;i<N;i++)/*控制输入的个数*/
scanf("%d",&a[i]);
max=a[0]; /*假定最大值开始为数组第一个元素a[0]*/
for(i=1;i<N;i++)
{if(a[i]>max) /*输入元素与最大值进行比较*/
max=a[i]; /*把大值赋给max*/
}
printf("%d",max);
getch();
}
5 楼
oizll [专家分:0] 发布于 2010-04-21 15:37:00
这道题没有指明什么条件为输入结束,所以导致错误,
我也是新手,不会解决
我来回复