想到一个很容易理解的办法,感觉其他同学写的自己理解起来有点繁琐,还是选一个适合自己的吧!
参考代码如下:
#include <stdio.h> //输入10个元素 void input(int a[]) { int i; for (i = 0; i < 10; i++) scanf("%d", &a[i]); } //将数组输出(const表示只读) void output(const int a[]) { int i; for (i = 0; i < 10; i++) printf("%d ", a[i]); } //处理数组 void process(int a[]) { int i; int min = a[0]; int max = a[0]; //1 找到数组中最大和最小的数并分别保存到max和min中 for (i = 0; i < 10; i++) { if (min > a[i]) { min = a[i]; } if (max < a[i]) { max = a[i]; } } //printf("min = %d max = %d\n", min, max); //2 找到max和min在数组中的对应位置,与数组第一个数和最后一个数分别进行对换 int tmp; for (i = 0; i < 10; i++) { if (min == a[i]) { tmp = a[i]; a[i] = a[0]; a[0] = tmp; } if (max == a[i]) { tmp = a[i]; a[i] = a[9]; a[9] = tmp; } } } int main() { int a[10]; input(a); process(a); output(a); return 0; }
0.0分
2 人评分