1337 - C语言程序设计教程(第三版)课后习题10.3
时间限制 : 1 秒
内存限制 : 128 MB
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。使用指针
题目输入
10个整数
题目输出
整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)
输入/输出样例
输入格式
2 1 3 4 5 6 7 8 10 9
输出格式
1 2 3 4 5 6 7 8 9 10
C++解答
#include<iostream> using namespace std; void input(int *p,int n) { for (int i=0; i<n; i++) cin>>p[i]; } void deal(int *p,int n) { int *max,*min,*q,t; max=min=p; for (q=p+1; q<p+n; q++) //查找最小值 if (*min>*q) min=q; t=p[0]; p[0]=*min; *min=t; for (q=p+1; q<p+n; q++) //查找最大值 if (*max<*q) max=q; t=p[n-1]; p[n-1]=*max; *max=t; } void output(int *p,int n) { int *q; for (q=p; q<p+n; q++) cout<<*q<<" "; cout<<endl; } int main() { int a[10]; input(a,10); deal(a,10); output(a,10); return 0; }