c语言三数
① c语言 输入三个数
#include <stdio.h>
int main (void)
{
int a,b,c;
int s;
//s=floor(1.0*(a+b+c)/3);a,b,c都没赋值就计算???
scanf("%d %d %d",&a,&b,&c);
s=(int)(1.0*(a+b+c)/3);//取整数直接强制类型转换,犯不着用函数
if(a>=b&b>=c&a>=c)
printf("%d %d %d %d %d\n",a+b+c,s,a*b*c,c,a);
else
if(b>=a&a>=c&b>=c)
printf("%d %d %d %d %d\n",a+b+c,s,a*b*c,c,b);
else
if(b>=c&c>=a&b>=a)
printf("%d %d %d %d %d\n",a+b+c,s,a*b*c,a,b);
else
if(a>=c&c>=b&a>=b)
printf("%d %d %d %d %d\n",a+b+c,s,a*b*c,b,a);
else
if(c>=b&b>=a&c>=a)
printf("%d %d %d %d %d\n",a+b+c,s,a*b*c,a,c);
else
if(c>=a&a>=b&c>=b)
printf("%d %d %d %d %d\n",a+b+c,s,a*b*c,b,c);
return 0;
}
② C语言编写3个数比较大小
代码没有问题,
不过你的输入没按照你自己scanf所设定的格式来
scanf("%d,%d,%d",&a,&b,&c);
这么写的话,你应该这么输入:
1,7,8(回车)
或者
2,5,3(回车)
别忘了逗号,也别忘了将3个数都输完再回车
如果这么写,
scanf("%d%d%d",&a,&b,&c);
就可以这么输入:
2(回车)
3(回车)
1(回车)
(2)c语言三数扩展阅读
C语言编写3个数比较大小其他代码样例:
# include <stdio.h> //头文件
int max(int x,int y,int z); //声明子函数
void main()//主函数
{
int a,b,c,d;//定义变量名
printf("shuru a,b,c"); //打印出shuru a,b,c
scanf("%d,%d,%d",&a,&b,&c); //录入数据
d=max(a,b,c);//调用子函数
printf("max = %d
",d);
}
int max(int x,int y,int z)//子函数体,比较大小返回最大值
{
int m,int n;
if(x>y) m = x;
else m = y;
if(m>z) n = m;
else n = z;
return(n);
}
③ c语言如何三个数求和
是三个数求和:
inta,b,c,sum;
charc1,c2;
scanf("%d%c%d%c%d",&a,&c1,&b,&c2,&c);
if(c1=='+'&&c2=='+')
sum=a+b+c;
printf("%d+%d+%d=%d ",a,b,c,sum);
运行时,输入专
12+34+56回车属
或
1+2+3回车
④ C语言中三个数排序
用C语言编写通过if将3个数排序:
#include<stdio.h>/*函数头:输入输出头文件*/
void main()/*空类型:主函数*/
{
inta,b,c,t;/*定义变量的数据类型为整型*/
printf("输入3个数,中间用空格隔开:");/*输出文字提示*/
scanf("%d%d%d",&a,&b,&c);/*输入3个数字*/
if(a<b)/*判断a是否小于b*/
{t=a;a=b;b=t;}/*是,则a、b的值互换*/
if(a<c)/*判断a是否小于c*/
{t=a;a=c;c=t;}/*是,则a、c的值互换*/
if(b<c)/*判断b是否小于c*/
{t=b;b=c;c=t;}/*是,则b、c的值互换*/
printf("从小到大:%d,%d,%d ",c,b,a);/*输出从小到大排列的数*/
printf("从大到小:%d,%d,%d ",a,b,c);/*输出从大到小排列的数*/
}
(4)c语言三数扩展阅读
输入三个数,比较其大小,并从大到小输出。
#include<stdio.h>
int main(){
inta,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a<b){
intflag=a;
a=b;
b=flag;
}
if(a<c){
intflag=a;
a=c;
c=flag;
}
if(b<c){
intflag=b;
b=c;
c=flag;
}
printf("%d%d%d",a,b,c);
}
⑤ C语言中,怎么比较三个数的大小
比较方法:
1、比较从第一个数开始,先比较第一个数和第二个数的大小,如果第一个数大于第二个数,则将第一个数和第二个数互换;不大于(即等于或小于)则不作处理。
2、然后,再将第二个数和第三个数比较,同样,若大于则将它们互换。
以1
2
3为例
先考虑我们所有的可能输入类型(这里不一一列举):1
2
3;3
2
1
;2
1
3;1
1
1;1
2
2;1
2
1;整体的思路为输入三个数后,我们从中取两个数,在这两个数中选出最大的后将最大的数与第三个数做差比较这里请参考代码理解;
代码:
#include<stdio.h>
int
comp(int
x,int
y)
{
return
x>y?x:y;
}
int
main()
{
int
i,j,k;
int
a,b,c;
scanf("%d
%d
%d",&a,&b,&c);
j=comp(a,b);//j为两个数里最大的值
k=c;//a+b-j求的是a,b里比较小的那个数;
if(j-k<0){printf("%d
%d
%d",k,j,a+b-j);return
0;}
//说明K最大按顺序输出就可以了1
2
3;2
2
3
if(j-k>=a+b-j){printf("%d
%d
%d",j,a+b-j,k);return
0;}//3
2
1
if(j-k<a+b-j){printf("%d
%d
%d",j,k,a+b-j);return
0;}//
3
2
3
}
总结:
其实这个代码本质也和用if语句比较大小排序差不多,只不过这里不需要每次都调用三个if语句,直接一条if语句便可输出答案效率更高一点。
⑥ c语言三个数排列
三个if是并列的关系
程序的功能是三个数里面两两比较,从小到达一次排序。
例如:输入3,2,1 (a = 3,b =2,c = 1)
第一个if语句
if(a>b)
{t=a;a=b;b=t;}
比较a和b的大小,明显a>b,所以利用中间变量t保存a,将b的值赋给a,再将中间变量t的值赋给b,执行过程是{t=a(3);a = b(2);b = t(3)},所以此时a=2,b=3,c =1.
第二个if语句
if(b>c)
{t=b;b=c;c=t;}
比较b和c的大小,明显b>c,将b和c的值调换,{t=b(3);b = c(1);c = t(3),此时a=2,b=1,c=3.
第三个if语句
if(a>b)
{t=a;a=b,b=t;}
再次比较a和b的大小,明显a>b,将a和b的值调换,{t=a(2);a = b(1);b = t(2)},此时a=1,b=2,c=3.
然后一次打印a,b,c的值:printf("从小到大:%d %d %d",a,b,c);
⑦ c语言中三个数比较大小
#include<stdio.h>
//#include<windows.h>
voidmain()
{
intmax3(inta,intb,intc);
inta,b,c,result;
printf("Pleaseenterthreenumber: ");
scanf("%d,%d,%d",&a,&b,&c);
result=max3(a,b,c);
printf("Themaxofthreenumberis%d: ",result);
//system("pause");
}
intmax3(inta,intb,intc)
{
intx,z;
if(a>b)x=a;
elsex=b;
if(x>c)z=x;
elsez=c;
returnz;
}
(7)c语言三数扩展阅读
C语言:三个数由小到大排序
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inta,b,c,t;//定义4个基本整型变量a,b,c,t;
printf("Pleaseinputa,b,c:");
scanf("%d%d%d",&a,&b,&c);
//如果大于b,借助中间变量t实现a、b值互换;
if(a>c)
{
t=a;
a=b;
b=t;
}
//如果a大于c,借助中间变量t实现a、c值互换;
if(a>c)
{
t=a;
a=c;
c=t;
}
//如果b大于c,借助中间变量t实现b、c值互换;
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("theorderofthenumberis: ");
printf("%d,%d,%d",a,b,c);//输出a,b,c的值顺序输出;
system("pause");
return0;
}
⑧ C语言三数求最大值
您好多语句没打分号,语句块没打大括号,函数调用的两个参数没有用逗号分开。
这样吧:
#include
void main()
{
int a,b,c,max;
if(a>=b)
max=a;
else
max=b;
if(max<=c)
printf("%d\n",max);
else
printf("%d\n",c);
}注意你的a,b,c都没有初始化,也没有赋值,所以它们存的数是未知的。
⑨ c语言编写三个数乘积
好久都没碰过c语言了抄。。。除非你输入的最后一个数是最小的,否则一直你的max会一直都输出的是最后一个数字
if(z>x,z>y)只要满足一个条件,就会执行
a=z
你是要同时满足两个条件,所以必须要加上and
也就是要写成if(z>x&&z>y)
上面的也要这么改