用C语言编写程序,输入 n 个整数,并存入数组 a,统计输出其中值为素数的元素个数。输入格式: 在第一行输入一个正整数 n(1<n<=100); 在第一行输入 n 个正整数,数据之间用空格分隔。 输出格式: 输出素数的元素个数。
时间: 2024-03-24 17:41:35 浏览: 376
好的,以下是C语言代码实现:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断是否为素数
bool isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int n, count = 0;
int a[100];
printf("请输入正整数n:");
scanf("%d", &n);
printf("请输入n个数:");
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
if (isPrime(a[i])) {
count++;
}
}
printf("素数的元素个数为:%d\n", count);
return 0;
}
```
希望这个代码可以解决你的问题!
相关问题
编译c语言:输入n个整数,并存入数组a中,统计输出其中值为素数的元素个数
好的,可以给您提供一个C语言代码实现:
```c
#include <stdio.h>
int main() {
int n, count = 0;
printf("请输入数组长度n:");
scanf("%d", &n);
int a[n];
for (int i = 0; i < n; i++) {
printf("请输入第%d个整数:", i + 1);
scanf("%d", &a[i]);
}
for (int i = 0; i < n; i++) {
int flag = 1;
for (int j = 2; j < a[i]; j++) {
if (a[i] % j == 0) {
flag = 0;
break;
}
}
if (flag && a[i] > 1) {
count++;
}
}
printf("素数的元素个数为:%d\n", count);
return 0;
}
```
该代码首先通过 `scanf()` 函数获取用户输入的数组长度 `n` 和 `n` 个整数,并存储在数组 `a` 中。然后使用两层嵌套的 `for` 循环遍历数组,判断数组中的每个元素是否为素数,如果是素数则计数器 `count` 加一。最后输出 `count` 的值即为数组中素数元素的个数。
需要注意的是,素数的定义是大于1的整数,且只能被1和自身整除。所以在判断素数时需要加上对于1的判断。
用C语言输入 n 个整数,并存入数组 a,统计输出其中值为素数的元素个数。
好的,下面是C语言的代码实现:
```c
#include <stdio.h>
int is_prime(int n) // 判断是否为素数
{
int i;
for (i = 2; i < n; i++)
{
if (n % i == 0)
{
return 0; // 不是素数
}
}
return 1; // 是素数
}
int main()
{
int a[100];
int i, n, count = 0;
printf("请输入整数个数:");
scanf("%d", &n);
printf("请输入%d个整数:\n", n);
for (i = 0; i < n; i++)
{
scanf("%d", &a[i]);
if (is_prime(a[i])) // 判断是否为素数
{
count++;
}
}
printf("数组中素数元素的个数为:%d\n", count);
return 0;
}
```
以上代码中,我们定义了一个函数is_prime来判断一个数是否为素数。在主函数中,我们首先输入整数个数n和n个整数,并在输入的同时判断是否为素数,若是,则计数器count加1。最后输出数组中素数元素的个数。需要注意的是,我们在判断素数时,只需要从2到该数的平方根进行判断即可,不需要遍历到该数本身。
阅读全文