1449 - C语言-数字交换
时间限制 : 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语言解答
int main(int argc, char* argv[]) { int i,num[10],max,min,ix,im,tem; for(i=0;i<10;i++) { scanf("%d",&num[i]); if(i==0) { max=min=num[i]; ix=im=0; } else if(num[i]>max) { max=num[i]; ix=i; } else if(num[i]<min) { min=num[i]; im=i; } } tem=num[ix];num[ix]=num[9];num[9]=tem; if(im==9) im=ix; tem=num[im];num[im]=num[0];num[0]=tem; for(i=0;i<10;i++) printf("%d ",num[i]); puts(""); return 0; }
C++解答
#include <iostream> #include <algorithm> using namespace std; int main () { int num[10]; int MIN = 100000; int MAX = 0; for (int i = 0;i < 10; i++) { cin>>num[i]; MIN = min (MIN,num[i]); MAX = max (MAX,num[i]); } for (int i = 0;i < 10; i++) { if (MIN == num[i]) { num[i] = num[0]; num[0] = MIN; } if (MAX == num[i]) { num[i] = num[9]; num[9] = MAX; } } for (int i = 0;i < 10; i++) cout<<num[i]<<" "; cout<<endl; return 0; }