C语言:输入三个数,把它们按照从大到小输出出来

#鹏哥C语言#P49

方法一:冒泡排序

#include<stdio.h>
int main()
{
	int a=0;
	int b=0;
	int c=0;
	int tmp=0;
	printf("请输入三个数:");
	scanf("%d%d%d",&a,&b,&c);
	if(a<b)
	{
		tmp=a;
		a=b;
		b=tmp;
	}
	if(a<c)
	{
		tmp=a;
		a=c;
		c=tmp;
	}
	if(b<c)
	{
		tmp=b;
		b=c;
		c=tmp;
	}
	printf("%d,%d,%d",a,b,c);
	return 0;
}

方法二:冒泡排序-函数-指针

#include<stdio.h>
#include<string.h>
void Swap(int* px,int* py)
{
	int tmp;
	tmp=*px;
	*px=*py;
	*py=tmp;
}
int main()
{
	int a=0;
	int b=0;
	int c=0;
	printf("请输入三个数:");
	scanf("%d%d%d",&a,&b,&c);
	if(a<b)
	{
		Swap(&a,&b);
	}
	if(a<c)
	{
		Swap(&a,&c);
	}
	if(b<c)
	{
		Swap(&b,&c);
	}
	printf("%d,%d,%d",a,b,c);
	return 0;
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 请看以下代码: ``` #include <stdio.h> int main() { int a, b, c; scanf("%d %d %d", &a, &b, &c); if (a >= b && a >= c) { if (b >= c) { printf("%d %d %d", a, b, c); } else { printf("%d %d %d", a, c, b); } } else if (b >= a && b >= c) { if (a >= c) { printf("%d %d %d", b, a, c); } else { printf("%d %d %d", b, c, a); } } else { if (a >= b) { printf("%d %d %d", c, a, b); } else { printf("%d %d %d", c, b, a); } } return ; } ``` 输入a,b,c三个值,程序会自动从大到输出三个值。 ### 回答2: C语言中,可以通过比较运算符和条件语句来实现输入a、b、c三个值,并将它们按照从大到小的顺序输出。 首先,我们可以使用scanf函来分别输入a、b、c三个值: ```c int a, b, c; printf("请输入a:"); scanf("%d", &a); printf("请输入b:"); scanf("%d", &b); printf("请输入c:"); scanf("%d", &c); ``` 然后,我们可以使用条件语句和比较运算符来比较a、b、c的大小,确保输出的顺序是从大到小。可以采用嵌套的if语句来完成这个任务: ```c if (a >= b && a >= c) { if (b >= c) { printf("从大到输出为:%d, %d, %d", a, b, c); } else { printf("从大到输出为:%d, %d, %d", a, c, b); } } else if (b >= a && b >= c) { if (a >= c) { printf("从大到输出为:%d, %d, %d", b, a, c); } else { printf("从大到输出为:%d, %d, %d", b, c, a); } } else { if (a >= b) { printf("从大到输出为:%d, %d, %d", c, a, b); } else { printf("从大到输出为:%d, %d, %d", c, b, a); } } ``` 以上代码将比较a、b、c的值,如果某个值大于或等于其他两个值,则对应的if语句将负责输出正确的顺序。最后,我们可以按照从大到小的顺序输出a、b、c的值。 ### 回答3: C语言中要实现输入a,b,c三个值,从大到输出,可以使用判断语句和临时变量来完成。 首先,利用scanf函分别输入a,b,c的值,例如: ```c int a, b, c; printf("请输入三个a、b、c:\n"); scanf("%d%d%d", &a, &b, &c); ``` 然后,利用if语句进行比较,将最大值赋给临时变量temp,如: ```c int temp; if (a >= b && a >= c) { temp = a; } else if (b >= a && b >= c) { temp = b; } else { temp = c; } ``` 接着,利用if-else语句和printf函将最大值temp、中间值和最小值依次输出,如: ```c if (temp == a) { if (b >= c) { printf("%d %d %d\n", temp, b, c); } else { printf("%d %d %d\n", temp, c, b); } } else if (temp == b) { if (a >= c) { printf("%d %d %d\n", temp, a, c); } else { printf("%d %d %d\n", temp, c, a); } } else { if (a >= b) { printf("%d %d %d\n", temp, a, b); } else { printf("%d %d %d\n", temp, b, a); } } ``` 最后使用return语句结束函。 完整代码如下: ```c #include <stdio.h> int main() { int a, b, c; printf("请输入三个a、b、c:\n"); scanf("%d%d%d", &a, &b, &c); int temp; if (a >= b && a >= c) { temp = a; } else if (b >= a && b >= c) { temp = b; } else { temp = c; } if (temp == a) { if (b >= c) { printf("%d %d %d\n", temp, b, c); } else { printf("%d %d %d\n", temp, c, b); } } else if (temp == b) { if (a >= c) { printf("%d %d %d\n", temp, a, c); } else { printf("%d %d %d\n", temp, c, a); } } else { if (a >= b) { printf("%d %d %d\n", temp, a, b); } else { printf("%d %d %d\n", temp, b, a); } } return 0; } ``` 运行该程序,用户输入a、b、c三个后,会按照从大到小的顺序输出三个

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值