C语言输入10个整数存入数组,求其中最大值和最小值及其序号
时间: 2024-10-28 07:16:01 浏览: 47
在C语言中,你可以通过以下步骤来实现这个功能:
1. 首先,你需要定义一个动态大小的整型数组,用于存储这10个用户输入的整数。可以使用`malloc`分配内存,然后使用`calloc`初始化所有元素为0,因为你知道最后一个元素会被用作检查是否已填充。
```c
int *numbers = malloc(sizeof(int) * 10);
if (numbers == NULL) {
printf("内存分配失败");
return;
}
```
2. 接着,创建一个循环来读取用户输入并存储到数组中,同时记录当前的最大值、最小值以及它们的索引。
```c
int max_value = numbers[0], min_value = numbers[0];
int max_index = 0, min_index = 0;
for (int i = 0; i < 10; i++) {
scanf("%d", &numbers[i]);
if (numbers[i] > max_value) {
max_value = numbers[i];
max_index = i;
}
if (numbers[i] < min_value) {
min_value = numbers[i];
min_index = i;
}
}
```
3. 循环结束后,你可以打印出最大值、最小值及对应的索引。
```c
printf("最大值: %d, 序号: %d\n", max_value, max_index);
printf("最小值: %d, 序号: %d\n", min_value, min_index);
// 释放内存
free(numbers);
```
记得处理可能出现的错误,比如用户输入非数字字符的情况。如果想要更稳健的代码,可以在输入结束时检查是否完整读取了10个整数。
阅读全文