任一输入3个整数,从大到小排序输出。

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 可以使用冒泡排序、插入排序、选择排序排序算法来实现。 以下是使用冒泡排序的示例代码: ``` #include <stdio.h> int main() { int n, i, j, temp; int a[10]; printf("请输入n(<10)个整数:\n"); scanf("%d", &n); printf("请输入%d个整数:\n", n); for (i = 0; i < n; i++) { scanf("%d", &a[i]); } // 冒泡排序 for (i = 0; i < n - 1; i++) { for (j = 0; j < n - i - 1; j++) { if (a[j] > a[j + 1]) { temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } } printf("排序后的结果为:\n"); for (i = 0; i < n; i++) { printf("%d ", a[i]); } printf("\n"); return 0; } ``` 输入示例: ``` 请输入n(<10)个整数: 5 请输入5个整数: 3 1 5 2 4 ``` 输出示例: ``` 排序后的结果为: 1 2 3 4 5 ``` ### 回答2: 排序是计算机科学中的一项重要技术,可以将一组无序数据按照特定的规则进行整理,从而使得数据的查找和处理更加高效。 输入n个整数,我们可以使用任一排序算法将它们从小到大排序输出。比较常用的排序算法包括冒泡排序、插入排序、选择排序、快速排序、归并排序等。 其中,冒泡排序是最简单的排序算法之一,其基本思想是每次比较相邻两个数,如果它们的顺序不对,就交换它们的位置,重复这个过程,直到所有的数都排好序为止。 插入排序和选择排序类似,其基本思想是每次将一个未排序的元素插入到已排序完毕的序列中,区别在于选择排序每次找到未排序序列中最小的元素插入到已排序序列的末尾,而插入排序则是将未排序的元素插入到已排序序列的合适位置。 快速排序是一种效率较高的排序算法,其基本思想是选取一个基准值,将序列划分为左右两部分,左边的部分比基准值小,右边的部分比基准值大,不断递归这个过程,直到排序完成。 归并排序也是一种常用的排序算法,其基本思想是将序列不断地划分成更小的子序列,然后将这些子序列合并成有序的序列,直到整个序列都有序为止。 以上这些排序算法都比较常用,对于输入n个整数的情况,我们可以根据实际需要选择合适的算法进行排序,最终输出排好序的整数序列,以方便后续的处理和分析。 ### 回答3: 排序是计算机中非常基础和常见的操作,它的本质是将一系列无序的数据按照一定的规则排列成有序的数据。 对于输入n个整数的情况,我们可以选择各种排序算法进行排序。例如: 1. 冒泡排序:每次比较相邻的两个数,如果前面的数比后面的数大,则交换位置。这样一遍下来可以确保最大的数被移动到了最后,然后再对前面的数重复上述过程。最终,所有的数就会被按照从小到大排列出来。 2. 快速排序:将数组按某个数(一般是第一个数)为界分为小于该数和大于该数的两部分,然后对这两部分分别使用同样的方式进行排序。递归调用该过程,最终就能得到有序数组。 3. 归并排序:将数组分为两部分,递归对这两部分进行排序,然后将已排序的两部分合并成一个有序数组。最终,整个数组就能按照从小到大排列出来。 以上算法的时间复杂度都是O(n^2)或者O(nlogn),具体的选择需要视具体情况而定。 对于题目中输入n(<10)个整数的情况,我们可以采用任意一种排序算法来完成排序,因为数据规模比较小。这里以冒泡排序为例进行解释。 例如,输入n个整数为:5,2,7,8,1 首先,比较相邻的两个数,5和2,由于5>2,需要交换位置,得到2,5,7,8,1。然后,继续比较相邻的数2和7,7和8,8和1,分别进行交换,得到2,5,1,7,8。此时,最后一个数已经是最大的了,因此我们只需要对前面的数继续进行排序就好了。重复上述过程,最终得到有序数组:1,2,5,7,8。 总之,对于任何排序问题,我们都需要根据具体情况选择适合的算法来进行排序。而当数据规模较小时,我们可以采用简单的排序算法如冒泡排序、插入排序等,同时在实际应用中,还要考虑算法的稳定性、可读性、代码复杂度等因素。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值