随机输入8个数,输出其中最大值的位置,如果输入了两个最大值,请输出两个位置,请写一段c语言代码
时间: 2024-05-10 19:14:45 浏览: 75
以下是一段C语言代码实现:
```c
#include <stdio.h>
int main() {
int nums[8];
int max = 0;
int max_pos[2] = {0, 0};
printf("请输入8个数字:\n");
for (int i = 0; i < 8; i++) {
scanf("%d", &nums[i]);
if (nums[i] > max) {
max = nums[i];
max_pos[0] = i;
max_pos[1] = 0;
} else if (nums[i] == max) {
max_pos[1] = i;
}
}
printf("最大值为%d,位置分别为%d", max, max_pos[0]);
if (max_pos[1] != 0) {
printf("和%d", max_pos[1]);
}
printf("\n");
return 0;
}
```
首先,定义一个长度为8的整型数组`nums`来存储输入的8个数字,然后定义一个整型变量`max`来记录最大值,并且定义一个长度为2的整型数组`max_pos`来记录最大值的位置。通过循环遍历输入的数字,如果当前数字大于`max`,则更新`max`的值并且将当前位置赋值给`max_pos[0]`,同时将`max_pos[1]`重置为0;如果当前数字等于`max`,则将当前位置赋值给`max_pos[1]`。最后输出最大值和位置即可。注意,如果有两个最大值,则需要输出两个位置。
阅读全文