编写一个c程序 输入a b c三个值,输出其中的最大者。

#include<stdio.h>
int main()
{
int a,b,c,max;
scanf("%d,%d,%d",&a,&b,&c);
if (a>b)max=a;
else max=b;
if (max>c)printf("max=%d\n",max);
else printf("max=%d\n",c);
return 0;
}

怎么输入b为负数的时候,输出的结果为a,这个程序哪里有问题吗?
输入b为负数,c大于a的时候,输出为a。

输入的b为负数,但是你的a是多大?如果a比b大的话输出a也是有可能的追问

输入b为负数,c大于a,输出为a

追答

你能发一下你的运行截图不

追问

追答

你在-5之前是不是多打了个空格

追问

没有。

追答

哦应该是输入法的锅,你这里的所有输入都要在英文输入法下面

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2019-09-02
方法1:(利用选择结构设计)
#include <stdio.h>int main()
{
int a, b, c, max;
scanf("%d %d %d", &a, &b, &c); //输入3个数字
//判断3个数值大小
if (a > b){ if (a > c) max = a; else
max = c;
} else{ if (b > c) max = b; else
max = c;
} printf("Max=%d\n", max); //输出最大值
return 0;
}123456789101112131415161718192021
方法2:(利用条件表达式)
#include <stdio.h>int main()
{ int a, b, c, max; scanf("%d %d %d", &a, &b, &c); //输入3个数值
max = (a > b ? (a > c ? a : c) : (b > c ? b : c)); //判断3个数值大小
printf("Max=%d\n", max); //输出最大值
return 0;
}123456789
方法3:(利用函数的模块化设计)
#include <stdio.h>int max(int x, int y, int z); //定义最大值函数int main()
{ int a, b, c; scanf("%d %d %d", &a, &b, &c); //输入3个数值
printf("Max=%d\n", max(a, b, c)); //输出最大值
return 0;
}//最大值函数int max(int x, int y, int z)
{ return (x > y ? (x > z ? x : z) : (y > z ? y : z));
}1234567891011121314
方法4:(利用指针法1)
#include <stdio.h>void max(int *p, int *q, int *r); //定义最大值函数int main()
{ int a, b, c, *x, *y, *z; //定义三个值和对应指针变量 x=&a, y=&b, z=&c; printf("Please enter number a b c: "); //输入三个数
scanf("%d %d %d", x, y, z);
max(x, y, z); //调用最大值函数 return 0;
}
//最大值函数
void max(int *p, int *q, int *r)
{ int m; m=*p>*q ? (*p>*r ? *p : *r) : (*q>*r ? *q : *r); printf("Max=%d\n", m);
}本回答被网友采纳
第2个回答  2017-02-19
应为scanf("%d%d%d",&a,&b,&c); 没有逗号。还有你忘记abc相等的情况了
PS:三整数排序程序
#include <stdio.h>

int main()
{
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
t=a;a=b;b=t;
}//执行完毕后a<=b
if(a>c)
{
t=a;a=c;c=t;
}
if(b>c)
{
t=b;b=c;c=t;
}
printf("%d%d%d\n",a,b,c);
return 0;
}追问

你这个不行,就普通的,a,b,c分别为12,-85,96这样输出的还是12

追答

我用你的程序试了,删掉逗号以后没问题啊。不删逗号的话输出的是4202080
#include
int main()
{
int a,b,c,max;
scanf("%d%d%d",&a,&b,&c);
if (a>=b)max=a;
else max=b;
if (max>=c)printf("max=%d\n",max);
else printf("max=%d\n",c);
return 0;
}

追问

我用vc试的,全是正数,可以得出最大的,a或者c是负数,也可以得出最大的,但是只要是b为负数,得出最大的数值就是a的值,

追答

我用的Dev,也有可能是编译器出问题了
你看看有没有误删什么

追问

刚自己装的,,,额

编译器

本回答被网友采纳

编写一个C程序,输入a,b,c三个值 输出其中最大者。
printf("请输入三个数:\\n");scanf("%d%d%d",&a,&b,&c);if(a>b)max=a;if(c>max)max = c;printf("三个数中最大的数为:%d",max);return 0;}

编写一个C程序,输入a, b, c三个值,输出其中最大
输出其中最大者是max。编写一个C程序,输入a,b,c三个值,输出其中最大者是多少的延伸:编写程序:#include<stdio.h>voidmain({inta,b,c,max;scanf("%d,%d,%d",&a,&b,&c);if(a>b) max=a;else max=b;if(max<c) max=c;printf("max is:%d",max);} ...

有三个整数a,b,c,由键盘输入,输出其中最大的数 c语言编程问题
include <stdio.h> int main(void){ int a, b, c;int largest;printf("请输入三个数,来判断最大值:");scanf("%d%d%d", &a, &b, &c);if(a>b && a>c)largest = a;else if (b>a && b>c)largest = b;else largest = c;printf("最大的数为%d\\n", largest);return 0;}...

编写一个C程序,输入a,b,c三个值,输出其中最大者。
int a, b, c, max;printf("请输入三个数:\\n");scanf("%d %d %d", &a, &b, &c);if (a > b) { max = a;} if (c > max) { max = c;} printf("三个数中最大的数为:%d", max);return 0;} C语言是一个强大的编程工具,它的特点包括:1. 简洁明了:C语言的语法简...

2.编写一个C程序,输入a,b,c三个值,输出其中最大者。
scanf("%d,%d,%d",&a,&b,&c);\/\/输入3个数 d=max(a,b,c);\/\/调用MAX函数,其中3个参数a,b,c,把结果存入变量d中 printf("max=%d",d);\/\/输出d getch();} int max(int x,int y, int s) \/\/自定义函数,其中3个形式参数x,y,s {int z; \/\/定义实际参数z if(x>y)z=x;...

编写一个C程序,输入a,b,c,3个值,输出其中最大者。
scanf("%d,%d,%d",&a,&b,&c);\/\/输入3个数 d=max(a,b,c);\/\/调用MAX函数,其中3个参数a,b,c,把结果存入变量d中 printf("max=%d",d);\/\/输出d getch();} int max(int x,int y, int s) \/\/自定义函数,其中3个形式参数x,y,s {int z; \/\/定义实际参数z if(x>y)z=x;...

编写一个C程序,输入a,b,c3个值,输出其中最大者!
1、首先打开在线编程工具,并选择C语言。2、在代码编写区域键入如下代码。代码如下。include<stdio.h> void main(){ \/\/定义三个变量,并在定义的同时进行赋值。\/\/max变量用于存储最大值。int a1=10,b1=5,c1=30,max;\/\/前两个数进行比较,并将较大数存储在max变量中 if(a1>b1)max=a1;else ...

用C++编写一个C程序,输入a,b,c,3个值,输出其中最大者
\/\/用C++编写一个C程序,输入a,b,c,3个值,输出其中最大者\\x0d\\x0a#include \\x0d\\x0amain()\\x0d\\x0a{ \\x0d\\x0a\\x0d\\x0aint a,b,c,max;\\x0d\\x0aprintf("输入要比较大小的三个数:\\n"); \/\/键盘依次输入\\x0d\\x0ascanf("%d%d%d",&a,&b,&c); \/\/录入数...

编写C语言程序,输入a b c 3个值,输出其中最大值
(3)输出最大值。具体程序如下:include <stdio.h>int main(void){ int a,b,c;scanf("%d %d %d",&a,&b,&c); \/\/ 输入3个数int max = a; \/\/默认最大值为aif(max<b)max = b; \/\/选出a,b中的最大值 if(max < c) ...

编写一个C程序,运行时输入a,b,c三个值,输出其中值最大者
在C程序中,要实现输入三个数a、b、c并输出其中的最大值,可以使用以下代码片段:首先,我们需要在C程序中引入stdio.h头文件来处理输入和输出操作。程序结构如下:c#includeintmain(){在主函数中,定义三个整型变量a、b和c以及一个变量max来存储最大值:cinta,b,c,max;接着,提示用户输入三个数,...

相似回答