第32题
编写一个程序,包含main、readin、sort、与print四个函数。该程序的功能是:调用readin函数从键盘读入n个整数(n<=10),调用print函数输出排序前的数列,在调用sort函数对元素值用选择法由大到小的排序,最后调用print函数输出排序后的数列,各个函数的原型如下:
void readin(int *a,int n);
void sort(int *a,int n);
void print(int *a,int n);
请写出完整的程序代码。
参考答案:
#include<stdio.h>
void readin(int *,int);
void sort(int *,int);
void print(int *,int);
int main()
{
int arr[10],n;
do
{
printf("please input n:\n");
scanf("%d",&n);
}
while(n<1||n>10);
printf("please input %d elements:\n",n);
readin(arr,n);
printf("before sorted,the swquence is:\n");
print(arr,n);
sort(arr,n);
printf("after sorted,the sequence is:\n");
print(arr,n);
return 0;
}
void readin(int *a,int n)
{
int i;
for(i=0;i<n;n++)
scanf("%d",&a[i]);
}
void sort(int *a,int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(a[j]<a[k])
k=j;
if(k!=i)
{
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
}
void print(int *a,int n)
{
int i;
for(i=0;i<n;i++)
printf("%d",a[i]);
printf("\n");
}