您的位置:首页 > 其它

习题 8.3 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:1.输入10个整数;2.进行处理;3.输出10个数。

2018-02-22 20:39 2126 查看

C程序设计(第四版) 谭浩强 习题8.3 个人设计

习题 8.3 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:1.输入10个整数;2.进行处理;3.输出10个数。

代码块:

#include <stdio.h>
void input(int *s, int n);   //定义输入函数
void sort(int *s, int n);    //定义排序函数
void print(int *s, int n);   //定义输出函数
int main()
{
int n[10], *p=n;
input(p, 10);            //调用输入函数
sort(p, 10);             //调用排序函数
print(p, 10);            //调用输出函数
return 0;
}
//输入函数
void input(int *s, int n)
{
int *m;
for (m=s, printf("Please enter 10 numbers: "); m<s+n; scanf("%d", m++));
}
//排序函数
void sort(int *s, int n)
{
int *i, *j, *min, *max, t;
for (i=s, min=i; i<s+n; i++)
for (j=i+1; j<s+n; *min>*j ? min=j++ : j++);
t=*min, *min=*s, *s=t;
for (i=s+1, max=i; i<s+n; i++)
for (j=i+1; j<s+n; *max<*j ? max=j++ : j++);
t=*max, *max=*(s+n-1), *(s+n-1)=t;
}
//输出函数
void print(int *s, int n)
{
int *i;
for (i=s, printf("Sort by: "); i<s+n; printf("%d ", *i++));
printf("\n");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐