用c语言编写程序,从键盘录入5个整数放入一维数组a中,找出最大教放到最前面,最小数放到最后面。
时间: 2024-12-18 19:27:12 浏览: 23
在 C 语言中,你可以通过以下步骤实现这个功能:
1. 首先,创建一个动态的一维数组 `a` 来存储输入的五个整数。
2. 然后,从用户那里获取输入并将其存储到数组中。
3. 接着,找到数组中的最大值和最小值。
4. 将最大值和最小值交换位置,将最大值放至数组开始处,最小值放至结束处。
5. 最后,打印调整后的数组。
下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 功能:交换两个整数的值
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
// 1. 创建一个长度为5的一维数组
int a[5];
// 2. 获取用户输入,并存储到数组
for (int i = 0; i < 5; i++) {
printf("请输入第 %d 个整数:", i + 1);
scanf("%d", &a[i]);
}
// 3. 初始化最大值和最小值指针
int maxIndex = 0, minIndex = 0;
int maxValue = a[0], minValue = a[0];
// 遍历数组查找最大值和最小值
for (int i = 1; i < 5; i++) {
if (a[i] > maxValue) {
maxValue = a[i];
maxIndex = i;
} else if (a[i] < minValue) {
minValue = a[i];
minIndex = i;
}
}
// 4. 交换最大值和最小值
swap(&a[maxIndex], &a[0]);
swap(&a[4], &a[minIndex]); // 因为已经找到了最小值,所以只需交换最后一项即可
// 5. 打印调整后的数组
printf("调整后的数组:");
for (int i = 0; i < 5; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
阅读全文