在C语言中,输入数组的方法有以下几种:
使用循环和`scanf`函数逐个输入数组元素
这是最基本的方法,可以使用`for`循环或者`while`循环来遍历数组的每个元素,然后使用`scanf`函数来读取用户的输入。这种方法适用于数组元素较少的情况。
示例代码:
```c
include
int main() {
int n;
printf("请输入数组的大小: ");
scanf("%d", &n);
int arr[n];
printf("请输入数组元素: ");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("您输入的数组为: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
使用指针获取地址后输入数组
首先打开DEV C++软件,新建一个空白的C语言文件,输入程序的源码,先定义一个整型数组,采用`scanf`语句输入数组中的每个元素,这里使用指针来对输入的数字进行访问,要先给输入的每一个数字给予它的地址,便于访问,最后拿得到的数计算出平均值输出,程序就编写完成了。
示例代码:
```c
include
int main() {
int n;
printf("请输入数组的大小: ");
scanf("%d", &n);
int *arr = (int *)malloc(n * sizeof(int));
printf("请输入数组元素: ");
for (int i = 0; i < n; i++) {
scanf("%d", arr + i);
}
printf("您输入的数组为: ");
for (int i = 0; i < n; i++) {
printf("%d ", *(arr + i));
}
free(arr);
return 0;
}
```
使用动态内存分配来创建数组
通过`malloc`或`calloc`函数动态分配内存来创建数组,然后使用循环结构提示用户输入每个数组元素的值,并使用`scanf`函数接收用户输入的值,并将值存储到数组的对应位置上。
示例代码:
```c
include include int main() { int n; printf("请输入数组的大小: "); scanf("%d", &n); int *arr = (int *)malloc(n * sizeof(int)); printf("请输入数组元素: "); for (int i = 0; i < n; i++) { scanf("%d", &arr[i]); } printf("您输入的数组为: "); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } free(arr); return 0; } ``` 这种方法可以避免`scanf`函数在输入时按回车键的问题,适用于需要更细粒度控制输入的情况。 示例代码: ```c include int main() { int n; printf("请输入数组的大小: "); scanf("%d", &n); char input; for (int i = 0; i < n; i++) { printf("请输入第%d个元素: ", i + 1); fgets(input[i], 10, stdin); sscanf(input[i], "%d", &arr[i]); } printf("您输入的数组为: "); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } return 0; } ``` 建议 选择合适的方法:根据实际需求选择最合适的方法来实现数组输入。如果数组元素较少,使用循环和`scanf`函数比较简单直接;如果需要更细粒度的控制,可以考虑使用`fgets`和`sscanf`函数。 注意内存管理:在使用动态内存分配时,记得在程序结束前释放分配的内存,避免内存泄漏。使用`fgets`和`sscanf`函数输入数组