C 语言实例 - 输入n个整数,使其从大到小输出

冒泡排序的原理(以递增序为例)是每次从头开始依次比较相邻的两个元素,如果后面一个元素比前一个要大,说明顺序不对,则将它们交换,本次循环完毕之后再次从头开始扫描,直到某次扫描中没有元素交换,说明每个元素都不比它后面的元素大,至此排序完成。

#include <stdio.h>
int main()
{
    
    
	while(1)
	{
    
    
		int x,n;
		printf("输入需要比较的整数数量: \n");
		scanf ("%d",&n);
		int num[n];
		printf("输入需要比较的整数: \n");
		for(int i=0;i<n;i++)
		{
    
    
			scanf("%d",&num[i]);
		}
		for(int x=0;x<n;x++)//将相邻两个数据比较大小的次数为n次 
		{
    
    
			for(int j=0;j<n-1;j++)//将相邻两个数据比较大小 
		{
    
    
			if(num[j]<=num[j+1])
			{
    
    
			x=num[j];
			num[j]=num[j+1];
			num[j+1]=x;	
			}
		}			
		}		
		for(int k=0;k<n;k++)//遍历输出 
		{
    
    
			if(k==n-1)
			printf("%d\n",num[k]);
			else
			printf("%d ",num[k]);
		}
	 } 
	 return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41017444/article/details/112463240