编写程序:输入三个整数,然后按由大到小的顺序输出这三个数。

方法一(直接交换)

cpp 复制代码
#include<stdio.h>
int main()
{
	int a,b,c;
	scanf("%d%d%d",&a,&b,&c); 
	//可以这么写 想办法把a换成最大的数 ,之后是b c
	int temp;
	if(a<b)
	{
		temp=a;
		a=b;
		b=temp;
	 } 
	 if(a<c)
	 {
	 	temp=a;
		a=c;
		c=temp;
	 }
	 if(b<c)
	 {
	 	temp=b;
		b=c;
		c=temp;
	 }
	 printf("排序后的三个数为:%d %d %d\n",a,b,c);
	return 0;
}

方法二(冒泡排序思想)

cpp 复制代码
#include<stdio.h>
int main()
{
	int a[3];
	for(int i=0;i<3;i++)
	{
		scanf("%d",&a[i]);
	}
	for(int i=0;i<3-1;i++)
	{
		for(int j=0;j<3-i-1;j++)
		{
			if(a[j]<a[j+1])
			{
				int temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;
			}
		}
	}
	 printf("排序后的三个数为:");
	 for(int i=0;i<3;i++) printf("%d ",a[i]);
	return 0;
}

延伸到对n个数排序

这里还是使用冒泡排序的思想

cpp 复制代码
#include<stdio.h>
int main()
{
	int n,a[1005];
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(int i=0;i<n-1;i++)
	{
		for(int j=0;j<n-i-1;j++)
		{
			if(a[j]<a[j+1])
			{
				int temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;
			}
		}
	}
	 printf("排序后的%d个数为:",n);
	 for(int i=0;i<n;i++) printf("%d ",a[i]);
	return 0;
}
相关推荐
诙_1 分钟前
深入理解C++设计模式
c++·设计模式
Slow菜鸟5 分钟前
Docker 学习篇(七)| 实战 — 用 Docker 构建 SpringBoot + Vue 全栈项目
spring boot·学习·docker
南境十里·墨染春水6 分钟前
linux 学习进展 网络编程 ——TCP 协议 TIME_WAIT 状态详解
linux·网络·学习
薛定e的猫咪6 分钟前
(AAMAS 2023)基于广义策略改进优先级的高效多目标学习 GPI - LS/PD
人工智能·学习·机器学习
热心网友俣先生14 分钟前
2026年金地杯A题解题思路
算法
科研前沿15 分钟前
SpaceOS™空间计算底座与五大自研引擎,实现多项关键技术突破
大数据·运维·人工智能·算法·重构
昵称小白21 分钟前
C++ 刷题语法速查
c++·算法
JQLvopkk24 分钟前
C# 工业级数据可视化:用ScottPlot让10万个点流畅显示的实战秘籍
人工智能·算法·机器学习
Qt程序员1 小时前
【无标题】
linux·c++·消息队列·共享内存·c/c++·管道·信号量
神仙别闹1 小时前
基于C# 利用工程活动图 AOE 网设计算法
算法·c#·php