唉,一大早来实验室没去公司等着导师分项目申请奖学金,结果导师竟然先去公司了,好吧,为了不耽误时间,随便上9度OJ准备刷题。(ps:天天老是做项目写代码了,考试考的这糟糕啊,平均竟然刚到80分,是个同学就比我分数高,淡淡的忧伤,算了,不鸟了)
-
题目描述:
-
输入一个数n,然后输入n个数值各不相同,调换数组中最大和最小的两个数,然后输出。
-
输入:
-
测试数据有多组,输入n(1<=n<=20),接着输入n个数。
-
输出:
-
对于每组输入,输出交换后的结果。
-
样例输入:
-
2 1 3
-
样例输出:
-
3 1
终于ac了,还是vim编译器好用#include <stdio.h> #include <stdlib.h> int main(void) { int n; while(scanf("%d",&n) != EOF) { int i,min,max,loc_min,loc_max; int a[20] = {0}; for(i = 0; i < n; i++) { scanf("%d",&a[i]); } min = max =a[0]; loc_min = loc_max = 0; for(i = 0; i < n; i++) { if(a[i] >= max) { max = a[i]; loc_max = i; } if(a[i] <= min) { min = a[i]; loc_min = i; } } a[loc_max]= min; a[loc_min] = max; for(i = 0; i < n - 1; i++) { printf("%d ",a[i]); } printf("%d\n",a[n-1]); } }