一道C语言题目 有3个整数a,b,c,由键盘输入,输出其中最大的数,请编写程序?

我编的是这样的,但是老师要求IF嵌套语句表示出来 # include
int main (void)
{ float a,b,c,t;
printf("请输入三个任意整数:\n");
scanf("%f,%f %f",&a, &b, &c);
if(a>=b) max=a;
else max=b;
if(b>=c) max=b;
else max=c;
if(c>=a) max=c;
else max=a;
printf("max=%.2max",max);
return 0;
}

求大神指点 新手勿入。。。3Q 啊!!!

你要输入整数,所以要定义a,b,c为整数,而不是float,输入输出不能用%f,应用%d,还有t未使用而使用了未定义的max故应把t改为max;

所以是

int main (void)

{ int a,b,c,max;

printf("请输入三个任意整数:\n");

scanf("%d%d%d",&a, &b, &c);

if(a>=b) max=a;

else  max=b;

if(b>=c) max=b;

else  max=c;

if(c>=a) max=c;

else  max=a;

printf("max=%d\n",max);

return  0;}

或者用

#include<stdio.h>

int main ()

{ int a,b,c;

printf("请输入三个任意整数:\n");

scanf("%d%d%d",&a, &b, &c);

if(b>=a)a=b;

if(c>=a) a=c;

printf("max=%d\n",a);

return  0;}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-17
你要输入整数,所以要定义a,b,c为整数,而不是float,输入输出不能用%f,应用%d,还有t未使用而使用了未定义的max故应把t改为max;
所以是
int main (void)
{ int a,b,c,max;
printf("请输入三个任意整数:\n");
scanf("%d%d%d",&a, &b, &c);
if(a>=b) max=a;
else max=b;
if(b>=c) max=b;
else max=c;
if(c>=a) max=c;
else max=a;
printf("max=%d\n",max);
return 0;
}

或者用
#include<stdio.h>
int main ()
{ int a,b,c;
printf("请输入三个任意整数:\n");
scanf("%d%d%d",&a, &b, &c);
if(b>=a)a=b;
if(c>=a) a=c;
printf("max=%d\n",a);
return 0;
}
第2个回答  2017-08-21

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

第3个回答  2012-10-16
#include <stdio.h>
int main (){
int a, b, c;
printf("请输入三个任意整数:\n");
scanf("%d%d%d", &a, &b, &c);
if(b > a){
a = b;
if(a < c)
a = c;
}
else{
if(a < c)
a = c;
}
printf("最大的整数是:%d\n", a);
return 0;
}
第4个回答  2009-04-10
【例】输入三个整数,输出最大数和最小数。
main(){
int a,b,c,max,min;
printf("input three numbers: ");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{max=a;min=b;}
else
{max=b;min=a;}
if(max<c)
max=c;
else
if(min>c)
min=c;
printf("max=%d\nmin=%d",max,min);
}

本程序中,首先比较输入的a,b的大小,并把大数装入max,小数装入min中,然后再与c比较,若max小于c,则把c赋予max;如果c小于min,则把c赋予min。因此max内总是最大数,而min内总是最小数。最后输出max和min的值即可。