C语言:编程输入n个整数,用选择法排序将它们按升序重新排列后输出。
选择法排序是从n个数中先找出最大或最小的数放在数组的最前面或最后面,再在剩余的n-1个数中找出最大或最小的数放在数组的次前面或倒数第2单元,依此类推,直至排序完毕。编程输...
选择法排序是从n个数中先找出最大或最小的数放在数组的最前面或最后面,再在剩余的n-1个数中找出最大或最小的数放在数组的次前面或倒数第2单元,依此类推,直至排序完毕。编程输入n个整数,用选择法排序将它们按升序重新排列后输出。
输入:有多组输入,每组输入对应两行,第一行是输入整数的个数n(n<21),第二行为n个整数。当n为0时程序结束运行。
输出:每组输入对应一行输出,输出按升序重新排列后的整数,两个整数用空格隔开,最后一个数后无空格。 展开
输入:有多组输入,每组输入对应两行,第一行是输入整数的个数n(n<21),第二行为n个整数。当n为0时程序结束运行。
输出:每组输入对应一行输出,输出按升序重新排列后的整数,两个整数用空格隔开,最后一个数后无空格。 展开
展开全部
代码如下:
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "stdlib.h"
int main(void){
int n,x[20],i,j,k;
while(1){
printf("Input n(int n<=20)...\n");
if(scanf("%d",&n),n==0)
break;
for(i=0;i<n;scanf("%d",x+i++));
printf("\nAfter sorting as follows:\n");
for(i=0;i<n;i++){
for(k=i,j=k+1;j<n;j++)
if(x[k]>x[j]) k=j;
if(k!=i){
j=x[k];
x[k]=x[i];
x[i]=j;
}
printf(i<n-1 ? "%d " : "%d\n",x[i]);
}
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询