老师平时布置的希冀系统上的作业答案,仅供参考!
【问题描述】
键盘输入一个整形数组,第一行输入数组的长度n(n<=100),第二行输入n个整数作为数组的元素。实现函数init(int p,n)实现数组的键盘初始化,使用sort(int p,n)对数组进行升序排列,使用函数print(*p,n)数组数组元素。
【输入形式】
第一行输入数组的长度n,第二行输入n个整数作为数组的元素
【输出形式】
输出排序后的数组
【样例输入】
4
23 34 2 5
【样例输出】
2 5 23 34
【参考答案】
#include <stdio.h>
void main()
{
void sort(int x[ ], int n);
void init(int *x, int n);
void print(int *x, int n);
int a[100];
int n;
scanf("%d",&n);
init(a,n);
sort(a,n);
print(a,n);
}
void init(int *x, int n)
{
for(int i=0;i<n;i++)
{
scanf("%d",x++);
}
}
void sort(int *x, int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(*(x+j)<*(x+k))
k=j;
}
t=*(x+i);
*(x+i)=*(x+k);
*(x+k)=t;
}
}
void print(int *x, int n)
{
for(int i=0;i<n;i++)
{
printf("%d ",*x++);
}
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容