zoukankan      html  css  js  c++  java
  • 第四周作业

    7-2 选择法排序 (20 分)
    本题要求将给定的n个整数从大到小排序后输出。
    输入格式:
    输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。
    输出格式:
    在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。
    输入样例:
    4
    5 1 7 6
    输出样例:
    7 6 5 1

    #include<stdio.h>
    int main()
    {
    	int i, j, k, n, temp;
    	int a[10];
    	scanf("%d", &n);
    	for(i=0; i<n; i++)
    		scanf("%d", &a[i]);
    	for(k=0; k<n-1; k++){
    		j=k;
    		for(i=k+1; i<n; i++)
    			if(a[i]>a[j]) 	j=i;
    			temp=a[j];
    			a[j]=a[k];
    			a[k]=temp;
    	}
    
    	printf("%d", a[0]);
    	for(i=1; i<n; i++)
    		printf(" %d", a[i]);
    	return 0;	
    }
    
    

    思路:
    将所有数值中的最大值比较出并赋值给另一个变量,然后再在剩下的数值中继续比较求出在大值,题目需要在末尾不出现空格,于是我们可以先将最大值单独输出,然后以空格加数值的形式输出,即可满足要求。

    图中的格式错误就是我之前将所有的数值都按照数值加空格的形式输出,所以在末尾会出现空格,不符合题意。改正之后就可以了。

  • 相关阅读:
    做汉堡(续)
    做汉堡
    <构建之法>3-5章感想
    《构建之法》1-2章感想
    四则运算界面练习
    快速排序
    冒泡算法(思路1)
    希尔排序
    KMP算法
    1、基础算法题
  • 原文地址:https://www.cnblogs.com/94ha-xc/p/10581901.html
Copyright © 2011-2022 走看看