c语言中如何将一串位置数量数字输入数组中
时间: 2024-09-21 08:08:25 浏览: 38
在C语言中,将一串位置数量的数字输入到数组中,通常需要先分配数组大小,然后使用`scanf`或其他类似函数逐个读取用户的输入。这里有一个简单的示例,假设我们有一个数组`int arr[]`和用户要输入的位置和数值的数量:
```c
#include <stdio.h>
#define NUM_ITEMS 10 // 根据需要调整数组大小
int main() {
int arr[NUM_ITEMS], position, num;
printf("请输入你要插入的位置和数值的数量(比如1 5, 2 3等,每组之间用空格分隔):\n");
// 获取输入的两个数,注意这里是连续输入,第一个数代表位置,第二个数代表值
scanf("%d %d", &position, &num);
// 检查输入的位置是否合法(不超过数组长度)
if (position <= NUM_ITEMS) {
arr[position - 1] = num; // 数组下标从0开始,所以减1
} else {
printf("错误:位置超出了数组范围。\n");
}
// 可以继续这个循环来输入更多元素,直到满足需求或用户停止输入
while (scanf("%d %d", &position, &num) == 2 && position <= NUM_ITEMS) {
arr[position - 1] = num;
}
// 显示输入后的数组内容
for (int i = 0; i < NUM_ITEMS; i++) {
printf("arr[%d]: %d\n", i, arr[i]);
}
return 0;
}
```
在这个例子中,用户会看到提示输入位置和数值,然后按照顺序输入。每对输入会被插入到相应位置的数组中,超过数组大小的位置则会被忽略。
阅读全文