从键盘任意输入20个整数,用函数编程实现由大到小的排序(用选择法排序)
问题描述:
从键盘任意输入20个整数,用函数编程实现由大到小的排序(用选择法排序)
答
#include <stdio.h>
int* sort(int a[]){
int i,j,t;
for (i = 0; i <= 20; i++){
for (j = i + 1; j < 20; j++){
if (a[i] > a[j]) //如果前一个数比后一个数大,则利用中间变量t实现两值互换
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
return a;
}
int main()
{
int i, j, t,a[20];
for (i = 0; i < 20; i++){
scanf("%d", &a[i]);
}
int *p;
p = sort(a);
for(i = 0;i < 20;i++){
printf("%d ",p[i]);
}
return 0;
}
答
#include<stdio.h>
#define N 20
int main()
{
int a[N];
int i,j,k;
scanf("输入二十个整数:");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N;i++)
for(j=i;j<N;j++)
if(a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
printf("排序后:");
for(i=0;i<N;i++)
printf(" %5d ",a[i]);
return 0;
}