使用malloc函数为指针分配n个整型内存空间,随机赋值n个两位整数,并将这n个整数中的素数全部输出。
时间: 2023-06-05 15:48:05 浏览: 120
可以使用以下代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 判断一个数是否为素数
int is_prime(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
printf("请输入要生成的随机数个数:");
scanf("%d", &n);
// 为指针分配内存空间
int *arr = (int *) malloc(n * sizeof(int));
// 随机赋值
srand(time(NULL));
for (int i = 0; i < n; i++) {
arr[i] = rand() % 90 + 10; // 生成两位整数
}
// 输出素数
printf("生成的随机数中的素数为:");
for (int i = 0; i < n; i++) {
if (is_prime(arr[i])) {
printf("%d ", arr[i]);
}
}
printf("\n");
// 释放内存空间
free(arr);
return 0;
}
```
程序运行时会先让用户输入要生成的随机数个数,然后使用 `malloc` 函数为指针分配内存空间,随机赋值两位整数,最后输出其中的素数。注意,程序结束时需要使用 `free` 函数释放内存空间。
阅读全文