第四周作业(挑战题)

冒泡法排序

输入1个正整数n(1<=n<=10),然后输入n个整数并存放在数组中,将这n个整数从大到小排序后输出,相邻数字间有一个空格,行末不得有多余空格。

输入格式:

输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。

输出格式:

在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。

输入样例:

4 
75 71 77 76

输出样例:

77 76 75 71

代码:

#include <stdio.h>

 int main(void)
 {
 	int n, i, j, t=0;
 	int num[100];
 	
    scanf("%d", &n);
 	
 	for(i = 0;i < n;i++)
    {
 		scanf("%d", &num[i]);
 	}
 	for(i = 1;i < n;i++)
 	{
 		for(j = 0;j < n - i;j++)
 		{
    		if(num[j] < num[j+1])
	    	{
		    	t = num[j];
	    		num[j] = num[j+1];
		    	num[j+1] = t;
	    	}
	    }
 	}
    for(i = 0;i < n;i++)
 	{
    	printf("%d", num[i]);
	
    	if(i != n-1)
    	printf(" ");
    }
 	
    return 0;
 }

流程图:

本题的问题:

问题没有,书上有例子,并不难。

原文地址:https://www.cnblogs.com/zw431387/p/10561217.html