C语言编程,求 比较3个数大小 的程序

C语言编程,求 比较3个数大小 的程序,第1张

方法步骤如下:

1、首先打开计算机在,在计算机内打开打开vc,然后在vc界面内找到“新建”选项并使用鼠标点击打开。

2、选择win32 console application 并在右侧选择工程的名字和地址,确定。

3、选择一个空工程并使用鼠标点击勾选,然后点击完成选项。

4、再次点击文件-新建选项并使用鼠标点击。

5、选择c++ source file 并在右侧输入文件名字,确定。

6、输入如图所示的代码,这里以abc分别代表三个不同的数,其他需要比较的数只要把abc换成相应的数就可以了。注意代码的输入要在英文输入法的环境下进行。

7、点击右上角的编译运行按钮即可。

比较方法:

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

代码没有问题,

不过你的输入没按照你自己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(回车)

扩展资料

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\n",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)

}


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

原文地址:https://54852.com/yw/7863835.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存