int main(int argc, const char * argv[])
{
int a[10] = {0};
int *p =a;
for (int i = 0; i < 10; i++) {
*(p + i) = arc4random() % (40 - 20 + 1) + 20;
printf("%d ", *(p + i));
}
printf("\n");
//2.进行处理
int min = *p;//存储最小值
int max = *p;//存储最大值
int minIndex = 0;//存储最小值下标
int maxIndex = 0;//存储最大值下标
for (int i = 1; i < 10; i++) {
if (min > *(p + i)) {
min = *(p + i);//找出最小值
minIndex = i;//存储最小值位置
}
}
for (int i = 0; i < 10; i++) {
if (max < *(p + i)) {
max = *(p + i);
maxIndex = i;//存储最大值位置
}
}
printf("最大值下标:%d 最小值下标:%d\n", maxIndex, minIndex);
if (*p != min ) {
if (*p == max ) {
maxIndex = maxIndex;
}
int temp =*p;
*p = *(p + minIndex);
*(p + minIndex) = temp;
}
if (*(p + 10 - 1) != max) {
int temp =*(p +10 - 1);
*(p +10 - 1) = *(p + maxIndex) ;
*(p + maxIndex) = temp;
}
//3输出10个数
for (int i = 0; i < 10; i++) {
printf("%d ",*(p +i));
}
return 0;
}
输入10个整数,将其中最小的数与第一个数对换,把最大的数和最后一个数对换,写三个函数:1.输入10个数,2.进行处理.3输出10个数
最新推荐文章于 2024-04-16 19:00:51 发布