题目来源:大工慕课 链接
作者:Caleb Sung
注意事项
- 记得记录一下最大值最小值的位置,方便后边题目中要求的交换操作(这里我使用的是pmax, pmin)
解答示范
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main(){
int i, a[10], max, min, pmax, pmin, tmp;
srand(time(NULL));
for(i=0; i<10; i++){
a[i] = rand()%100+0;
}
printf("这十个数分别为:\n");
for (i=0; i<10; i++){
printf("%d\t", a[i]);
}
max = a[0];
pmax = 0;
for(i=1; i<10; i++){
if(a[i] > max){
max = a[i];
pmax = i;
}
}
printf("\n\n最大值:\t%d", max);
min = a[0];
pmin = 0;
for(i=1; i<10; i++){
if(a[i] < min){
min = a[i];
pmin = i;
}
}
printf("\n最小值:\t%d", min);
tmp = a[0];
a[0] = a[pmin];
a[pmin] = tmp;
tmp = a[9];
a[9] = a[pmax];
a[pmax] = tmp;
printf("\n\n经过调整过后的十个数分别为:\n");
for (i=0; i<10; i++){
printf("%d\t", a[i]);
}
}