c语言数组输入任意数据
时间: 2023-10-10 15:11:14 浏览: 136
以下是一个示例程序,可以输入任意长度的整数数组:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入数组长度:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("您输入的数组为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
首先,程序会要求用户输入数组长度,然后创建一个具有该长度的整数数组。接下来,程序会提示用户输入整数,并使用循环将输入的值依次存储到数组中。最后,程序会输出用户输入的数组。
相关问题
c语言如何输入任意长度的数组
在C语言中,我们通常使用静态数组来存储固定长度的数据。但如果希望输入任意长度的数组,可以考虑使用动态内存分配和指针的方式。
首先,我们可以使用`malloc`函数来动态分配内存空间。`malloc`函数需要传入一个参数来指定需要分配的字节数。为了输入任意长度的数组,可以根据用户的输入来决定所需的字节数。
接下来,我们可以使用指针变量来指向动态分配的内存空间,以进行存储和操作。指针变量可以通过`*`来声明。
下面是示例代码:
```
#include <stdio.h>
#include <stdlib.h>
int main() {
int size;
int* array;
printf("请输入数组大小:");
scanf("%d", &size);
array = (int*)malloc(size * sizeof(int)); // 动态分配内存空间
printf("请输入数组元素:");
for (int i = 0; i < size; i++) {
scanf("%d", &array[i]);
}
printf("数组元素为:");
for (int i = 0; i < size; i++) {
printf("%d ", array[i]);
}
free(array); // 释放内存空间
return 0;
}
```
以上代码中,我们首先通过`scanf`函数获取用户输入的数组大小,然后根据输入的大小使用`malloc`函数动态分配内存空间。接着通过循环使用`scanf`函数获取数组的元素,最后通过循环打印出数组的元素。在程序结束时,我们使用`free`函数释放动态分配的内存空间。
使用这种方法,我们可以输入任意长度的数组,并且能够动态分配所需的内存空间。
c语言 数组 任意输入一组数据10个,判断有多少个素数,并显示结果
好的,这是一个简单的C语言程序,可以实现你的需求:
```c
#include <stdio.h>
// 判断一个数是否为素数
int is_prime(int num) {
int i;
if (num < 2) {
return 0;
}
for (i = 2; i < num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int arr[10];
int i, count = 0;
// 输入10个数
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
// 统计素数个数并输出
printf("其中的素数有:");
for (i = 0; i < 10; i++) {
if (is_prime(arr[i])) {
printf("%d ", arr[i]);
count++;
}
}
printf("\n共有%d个素数。\n", count);
return 0;
}
```
程序的运行流程如下:
1. 首先定义一个 `is_prime` 函数,它的作用是判断一个数是否为素数,如果是素数则返回1,否则返回0。
2. 在 `main` 函数中定义一个长度为10的整型数组 `arr`,用于存储输入的10个整数。
3. 通过循环语句,输入10个整数。
4. 再通过循环语句,遍历整个数组,判断每个数是否为素数,如果是素数,则输出该数,并将素数的个数加1。
5. 最后输出素数的个数。
希望这个程序能够帮到你。