输入若干整数,以0为结束。将这些整数读入到一个数组中,输出这个数组元素的个数和中间元素的下标(数组下标从0开始,向下取整)。 输入格式: 输入若干整数,个数不多于1000,。 输出格式: 输出数组元素的个数和最中间元素的下标,以一个空格为分隔。使用c语言输出
时间: 2024-10-02 16:01:52 浏览: 40
在C语言中,你可以按照以下步骤来实现这个功能:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_NUMS 1000
int main() {
int nums[MAX_NUMS]; // 定义数组存储整数
int count = 0; // 记录整数个数
int middle_index; // 中间元素的下标
// 读取输入直到遇到0
int input;
while (scanf("%d", &input) == 1 && input != 0) {
nums[count++] = input;
}
// 如果数组中有偶数个元素,中间两个元素的平均值作为中间元素
if (count % 2 == 0) {
middle_index = count / 2 - 1;
} else { // 如果数组有奇数个元素,中间的那个元素就是中间元素
middle_index = count / 2;
}
printf("%d %d\n", count, middle_index); // 输出数组元素个数和中间元素下标
return 0;
}
```
在这个程序中,我们首先声明了一个大小为`MAX_NUMS`的数组来存储输入的整数。然后通过`while`循环读取用户输入,直到遇到`0`才停止。接着计算数组元素的个数,并确定中间元素的下标。最后,使用`printf`函数按照指定的格式输出结果。
阅读全文