解题思路:
用循环找到数组里的最小值和最大值,然后进行交换。
参考代码:
#include <stdio.h> void input(int* a){ for(int i=0;i<10;i++){ scanf("%d",&a[i]); } } void moive(int* a){ int min=a[0]; int max=0; int x,y,temp; for(int i=0;i<10;i++){ if(min>a[i]){ min = a[i];//找到比a[0]小的值 x = i; //再把数组里的最小值的位置给x } } temp = a[0]; //存储a[0]的值 a[0] = min; //把找到的最小值赋值给a[0] a[x] = temp; //把a[0]的值赋给最小值的位置地方 for(int i=0;i<10;i++){ if(max<a[i]){ max = a[i]; y = i; } } temp = a[9]; a[9] = max; a[y] = temp; } void print(int* a){ for(int i=0;i<10;i++){ printf("%d ",a[i]); } } int main(){ int a[10]; input(a); moive(a); print(a); return 0; }
0.0分
1 人评分