如何在c语言中输入两个数组?使用哪种方法更好呢?下面我们将逐一介绍这些方法,并带有详细的示例。
方法一:使用scanf函数逐个输入数组元素
我们可以使用scanf函数逐个输入数组元素。使用此方法,我们需要先知道数组的大小,然后使用scanf函数逐个输入数组元素。下面是一个示例:
#include <stdio.h> int main() { int n, i; printf("请输入数组大小:"); scanf("%d", &n); int arr1[n], arr2[n]; printf("请输入第一个数组的元素:"); for (i = 0; i < n; i++) { scanf("%d", &arr1[i]); } printf("请输入第二个数组的元素:"); for (i = 0; i < n; i++) { scanf("%d", &arr2[i]); } // 输出数组元素以验证输入是否正确 printf("第一个数组的元素为:"); for (i = 0; i < n; i++) { printf("%d ", arr1[i]); } printf(""); printf("第二个数组的元素为:"); for (i = 0; i < n; i++) { printf("%d ", arr2[i]); } printf(""); return 0; }
方法二:使用for循环逐个输入数组元素
除了使用scanf函数,我们还可以使用for循环逐个输入数组元素。这种方法也需要先知道数组的大小,然后使用for循环语句逐个输入数组元素。下面是一个示例:
#include <stdio.h> int main() { int n, i; printf("请输入数组大小:"); scanf("%d", &n); int arr1[n], arr2[n]; printf("请输入第一个数组的元素:"); for (i = 0; i < n; i++) { scanf("%d", &arr1[i]); } printf("请输入第二个数组的元素:"); for (i = 0; i < n; i++) { scanf("%d", &arr2[i]); } // 输出数组元素以验证输入是否正确 printf("第一个数组的元素为:"); for (i = 0; i < n; i++) { printf("%d ", arr1[i]); } printf(""); printf("第二个数组的元素为:"); for (i = 0; i < n; i++) { printf("%d ", arr2[i]); } printf(""); return 0; }
方法三:从文件中读取数组元素
我们还可以从文件中读取数组元素。我们需要创建一个文件,然后将数组元素写入文件。接下来,我们可以从文件中读取数组元素。下面是一个示例:
1、创建一个名为input.txt的文件,并将数组元素写入文件:
5 3 8 1 6 9 2 7 4 0 1 5 3 8 6 9 2 7 4 0 1 5 3 8 6 9 2 7 4 0
2、编写一个程序从文件中读取数组元素:
#include <stdio.h> int main() { FILE *fp; int i, n = 5; int arr1[n], arr2[n]; fp = fopen("input.txt", "r"); // 打开文件 // 读取第一个数组 for (i = 0; i < n; i++) { fscanf(fp, "%d", &arr1[i]); } // 读取第二个数组 for (i = 0; i < n; i++) { fscanf(fp, "%d", &arr2[i]); } fclose(fp); // 关闭文件 // 输出数组元素以验证输入是否正确 printf("第一个数组的元素为:"); for (i = 0; i < n; i++) { printf("%d ", arr1[i]); } printf(""); printf("第二个数组的元素为:"); for (i = 0; i < n; i++) { printf("%d ", arr2[i]); } printf(""); return 0; }
方法四:使用动态内存分配函数malloc和realloc分配数组空间并输入元素
我们还可以使用动态内存分配函数malloc和realloc分配数组空间并输入数组元素。下面是一个示例:
#include <stdio.h> #include <stdlib.h> int main() { int n, i; printf("请输入数组大小:"); scanf("%d", &n); int *arr1 = (int *)malloc(sizeof(int) * n); // 为第一个数组动态分配内存空间 int *arr2 = (int *)malloc(sizeof(int) * n); // 为第二个数组动态分配内存空间 printf("请输入第一个数组的元素:"); for (i = 0; i < n; i++) { scanf("%d", &arr1[i]); } printf("请输入第二个数组的元素:"); for (i = 0; i < n; i++) { scanf("%d", &arr2[i]); } // 输出数组元素以验证输入是否正确 printf("第一个数组的元素为:"); for (i = 0; i < n; i++) { printf("%d ", arr1[i]); } printf(""); printf("第二个数组的元素为:"); for (i = 0; i < n; i++) { printf("%d ", arr2[i]); } printf(""); free(arr1); // 释放第一个数组的动态内存空间 free(arr2); // 释放第二个数组的动态内存空间 return 0; }
总结
我们介绍了四种方法在c语言中输入两个数组。对于输入小型数组,前两种方法即使用scanf函数逐个输入数组元素和使用for循环逐个输入数组元素都是很好用的。对于输入大型数组,使用动态内存分配函数malloc和realloc分配数组空间并输入元素是一个不错的选择。而从文件中读取数组的方法则适合在程序运行时需要大量数据时使用。
相关问题
如何在c++语言中输入两个数组?
怎样输入不定长数组?
希望这篇文章对您有所帮助。如果您有任何疑问和建议,请在评论区留言,我们将非常感谢。
谢谢阅读!
请支持我们,点赞、分享和关注。
感谢观看!
评论留言