第51題
編寫(xiě)一個(gè)程序,包含main、readin、sort、與print四個(gè)函數(shù)。該程序的功能是:調(diào)用readin函數(shù)從鍵盤(pán)讀入n個(gè)整數(shù)(n<=10),調(diào)用print函數(shù)輸出排序前的數(shù)列,在調(diào)用sort函數(shù)對(duì)元素值用選擇法由大到小的排序,最后調(diào)用print函數(shù)輸出排序后的數(shù)列,各個(gè)函數(shù)的原型如下:
void readin(int *a,int n);
void sort(int *a,int n);
void print(int *a,int n);
請(qǐng)寫(xiě)出完整的程序代碼。
參考答案:
#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");
}