一,方法一
比较三个数大小再从大到小输出可以引用四个位置:a,b,c和tmp,
其中我们规定最大的是a,第二个是b,第三个是c,而tmp就是用来换位的道具。具体实现代码如下
#define _CRT_SECURE_NO_WARNINGS 1
//这用的VS所以要用这个,不然scanf不安全。别的软件可以不打这一串代码
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d%d%d", &a, &b, &c);
//我们先判断a是不是最大的,如果是就执行第三个if,不是就将最大的换成a。
if (a < b)
{
int tmp = a;
a = b;
b = tmp;
}
if (a < c)
{
int tmp = a;
a = c;
c = tmp;
}
//在这里就算a不是最大的也将最大的换成a了,接下来我们比较b和c的大小。使第二个大的换成b,最小的是c。
if (b < c)
{
int tmp = b;
b = c;
c = tmp;
}
printf("a=%d b=%d c=%d\n", a, b, c);
return 0;
}
二,方法二
三个比较结果无非六种情况依次比较来打印出来,这个比较麻烦不如第一个好打。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//从大到小输出
///写代码将三个整数数按从大到小输出。
//
//例如:
//
//输入:2 3 1
//
//输出:3 2 1
//<summary>
//
/// </summary>
int main() {
int a, b, c;
printf("请输入三个整数:");
scanf("%d %d %d", &a, &b, &c);
//第一种情况a,b,或a,c,b
if (a > b && a > c) {
if (b > c) {
printf("%d %d %d",a, b, c);
}
else {
printf("5的%d %d",a, c, b);
}
}
//第二种b,a,c或b,c,a
else if (b>a && b> c) {
if (a > c) {
printf("%d %d %d", b, a, c);
}
else {
printf("5的%d %d", b, c, b);
}
}
//第三种c,a,b或c,b,a
else if (c > a && c > b) {
if (a > b) {
printf("%d %d %d", c, a, b);
}
else {
printf("5的%d %d", c, b, a);
}
}
return 0;
}