编写一个c程序 输入a b c三个值,输出其中的最大者。
#include<stdio.h>intmain(){inta,b,c,max;scanf("%d,%d,%d",&a,&b,&c);if(a>b)max=a;elsem...
#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。 展开
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。 展开
3个回答
展开全部
方法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);
}
#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);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
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;
}
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;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询