c语言中怎么输入任意个整数,然后将它们存入一个数组?

在C语言中,可以通过以下步骤输入任意个整数,并将它们存入一个数组:

  1. 确定数组大小:首先需要确定要存储的整数个数,即数组的大小。可以选择使用动态内存分配(malloc函数)来处理任意数量的整数,或者预先定义一个足够大的数组大小。

  2. 输入整数:使用循环结构来连续输入整数,直到用户输入结束为止。可以使用scanf函数进行输入。

  3. 存储到数组:将每次输入的整数依次存储到数组的不同位置。

  4. 结束输入:可以约定一个特定的输入结束标记(如输入负数或者某个特定字符),或者让用户输入一个特定的结束命令。

以下是一个示例代码,展示如何实现这些步骤:

c
#include <stdio.h> #include <stdlib.h> int main() { int *array; // 定义指向整数的指针,用于动态分配数组 int size; // 数组大小 int i; // 提示用户输入整数个数 printf("请输入整数个数:"); scanf("%d", &size); // 动态分配数组空间 array = (int *)malloc(size * sizeof(int)); // 输入整数并存储到数组中 printf("请输入%d个整数,以空格或回车分隔:\n", size); for (i = 0; i < size; ++i) { scanf("%d", &array[i]); } // 打印数组中的整数(可选) printf("您输入的整数为:"); for (i = 0; i < size; ++i) { printf("%d ", array[i]); } printf("\n"); // 释放动态分配的数组空间 free(array); return 0; }

详细解释

  • 动态分配数组空间:使用 malloc(size * sizeof(int)) 分配了能容纳 size 个整数的空间,并将返回的指针赋给 array

  • 输入整数并存储到数组中:通过 for 循环,从标准输入中依次读取整数,并将它们存储到数组 array 的每个元素中。

  • 打印数组中的整数:为了验证输入是否正确,将数组中的整数再次打印出来。

  • 释放动态分配的数组空间:使用 free(array) 释放动态分配的内存空间,防止内存泄漏。

通过以上步骤,你可以在C语言中实现输入任意个整数并存入数组的操作。