C语言怎么编程比较4个数的大小

C语言怎么编程比较4个数的大小,第1张

如果单纯输出最大|最小值的话,如下

#include<stdioh>

int a,b,i;

int main()

{

scanf("%d",&a);

b=a;

for(i=0;i<3;i++)

{

scanf("%d",&a);

b=b>ab:a;//输出最大值

//b=b<ab:a;  输出最小值

}

printf("%d",b);

}

如果升序|降序排列输出的话

#include<stdioh>

int a[5],i;

int sort()

{

int x,y;

for(x=0;x<4-1;x++)for(y=x+1;y<4;y++)

{

if(a[x]<a[y])//升序 降序改为>

{

a[x]+=a[y];a[y]=a[x]-a[y];a[x]-=a[y];

}

}

}

int main()

{

for(i=0;i<4;i++)scanf("%d",&a[i]);

sort();//目前为冒泡排序

for(i=0;i<4;i++)printf("%d%c",a[i],i==310:32);

}

比较方法:

1、比较从第一个数开始,先比较第一个数和第二个数的大小,如果第一个数大于第二个数,则将第一个数和第二个数互换;不大于(即等于或小于)则不作处理。

2、然后,再将第二个数和第三个数比较,同样,若大于则将它们互换。

以1 2 3为例 先考虑我们所有的可能输入类型(这里不一一列举):1 2 3;3 2 1 ;2 1 3;1 1 1;1 2 2;1 2 1;整体的思路为输入三个数后,我们从中取两个数,在这两个数中选出最大的后将最大的数与第三个数做差比较这里请参考代码理解;

代码:

#include<stdioh>

int comp(int x,int y)

{

return x>yx: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语句便可输出答案效率更高一点。

方法一:直接输入数据比大小

#include <iostreamh>

int main(void)

{

float x,y,z;

cout<<"请输入需比较的数"<<endl;

cin>>x>>y;

if(x>y)z=x;

else z=y;

cout<<"最大值为"<<z<<endl;

return 0;

}

方法二:调用函数比较大小

#include <iostreamh>

int main()

{

float max(float x, float y ); //函数声明既可以在此处,也可以在函数外。

//如果一个函数被多个函数调用时一般选择在函数外做声明

//谭浩强P97

float i,j,m;

cout<<"输数"<<endl;

cin>>i>>j;

m=max(i,j);

cout<<"最大值为"<<m<<endl;

return 0;

}

float max(float x,float y) //比较函数

{

float z;

if(x>y) z=x;

else z=y;

return z;

}

//声明函数float max(float x, float y );就是要调用的函数最后再加一个分号;

很久以前的学习记录,好容易才翻出来

我个人建议,你都看看方法二,虽然看上去行数多些,但是你往后学习函数调用要很熟练才好

提供给你一个思路。

2个3个都可以用

if else if来算

3个以上的最好用数组来处理。

就相当于数组排序(冒泡法)。

然后输出数组就OK!

#include <stdioh>

#include<stdlibh>

int main()

{

int a,b,c=0;

int arr[4];

for(a=0;a<=3;a++)

scanf("%d",&arr[a]);

for(a=0;a<3;a++)

for(b=a+1;b<4;b++)

if(arr[b]>arr[a])

{

c = arr[b];

arr[b] = arr[a];

arr[a] = c;

}

for(a=0;a<4;a++)

printf("%d ",arr[a]);

system("pause");

}

以上就是关于C语言怎么编程比较4个数的大小全部的内容,包括:C语言怎么编程比较4个数的大小、c语言如何编程比较三个数大小、怎样编写一个C语言程序比较两个数的大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9273450.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存