#include<stdio.h>
int max(int a,int b,int c)
{
int max=a;
if(max<b)
max=b;
if(max<c)
max=c;
return max;
}
void main()
{
int a,b,c,x;
scanf("%d,%d,%d",&a,&b,&c);
x=max(a,b,c);
printf("max=%d\n",x);
}
为什么输入三个数后 输出的永远是第一个数
这个问题在这里好多人都问过,其实就是你对scanf的理解不够造成的
scanf多个输入的话,scanf的格式和操作输入数据的格式要对应
这个你打印出abc看看是否正确读入即可
代码语法和逻辑没有看出问题
main最后少了一个return,这个你应该是用的vc编辑器所必须的
scanf多个输入的话,scanf的格式和操作输入数据的格式要对应
这个你打印出abc看看是否正确读入即可
代码语法和逻辑没有看出问题
main最后少了一个return,这个你应该是用的vc编辑器所必须的
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-10-27
1、C语言输入三个数,显示最大值是一个比较简单的程序,但是和具体的有些关系。
2、下面是求三个整数最大值的相关代码与与注释:
void main()
{
int num1,num2,num3,maxNum;
printf("请输入三个整数");
scanf("%d%d%d",&num1,&num2,&num3);
maxNum=num1; //首先最大值等于第一个数
if(maxNum<num2) //如果小于第二个数就等于第二个数
maxNum=num2;
if(maxNum<num3) //如果小于第三个数就等于第三个数
maxNum=num3;
printf("最大值等于%d\n",maxNum); //输出最大值并换行
}
第2个回答 2013-09-26
程序运行结果是对的,注意一下数据的输入格式
你把24 放在第三个位置 输出就不是最大的了。。。
追答没有问题呀,你看看
第3个回答 2013-09-26
scanf函数语法没掌握,这个函数的格式控制符里最好不要有分隔符,如果有,在录入数据时必须原样录入。
第4个回答 2013-09-26
#include<stdio.h>
int max(int a,int b,int c)
{
int max=a;
if(max<b)
max=b;
if(max<c)
max=c;
return max;
}
void main()
{
int a,b,c,x;
scanf("%d,%d,%d",&a,&b,&c);//算法没啥问题啊,可能是你输入数据的时候,三个数据间没有加逗号导致
x=max(a,b,c);
printf("max=%d\n",x);
}追问
int max(int a,int b,int c)
{
int max=a;
if(max<b)
max=b;
if(max<c)
max=c;
return max;
}
void main()
{
int a,b,c,x;
scanf("%d,%d,%d",&a,&b,&c);//算法没啥问题啊,可能是你输入数据的时候,三个数据间没有加逗号导致
x=max(a,b,c);
printf("max=%d\n",x);
}追问
我用的是空格。不行吗
追答不行的,要用空格得将scanf里的逗号去掉,那样的话就是以空格、TAB、回车作为分隔符号。