用c语言写一个判定素数的函数,在主函数输入一个整数,输出是否素数的信息。
时间: 2023-06-25 07:04:15 浏览: 104
以下是用C语言编写的判断素数的函数:
```c
#include <stdio.h>
int isPrime(int n) {
int i;
if (n <= 1) {
return 0;
}
for (i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
printf("请输入一个整数:");
scanf("%d", &n);
if (isPrime(n)) {
printf("%d是素数。\n", n);
} else {
printf("%d不是素数。\n", n);
}
return 0;
}
```
代码中,isPrime函数用于判断一个整数n是否为素数。如果n小于等于1,则返回0;否则从2开始遍历到n的平方根,查找是否有n的因子。如果找到了,则返回0,否则返回1。主函数中,先读入一个整数n,然后调用isPrime函数判断是否为素数,并输出相应的信息。
相关问题
用c语言写一串主函数输入一个大于2的整数,定义子函数判定其是否为素数,在主函数中输出判定结果。
好的,下面是代码:
```c
#include <stdio.h>
int isPrime(int n);
int main() {
int num;
printf("请输入一个大于2的整数:");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d是素数。\n", num);
} else {
printf("%d不是素数。\n", num);
}
return 0;
}
int isPrime(int n) {
int i;
if (n <= 2) {
return 0;
}
for (i = 2; i < n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
```
主函数中先输入一个大于2的整数,然后调用子函数isPrime判断是否为素数。isPrime函数中通过遍历2到n-1的所有数字,如果有一个能整除n,就说明n不是素数。如果遍历完了所有数字都没有能整除n的,就说明n是素数。最后在主函数中输出判断结果。
用C语言(1)输入n和n个大于1的正整数; (2)判断并输出其中的素数; (3)统计并输出素数的个数m;若不存在素数则输出“No”。 要求素数的判定用函数issus实现,其它功能在主函数中实现,issus的结构如下: int issus(int m) { //判定m是否为素数。 }
以下是用C语言实现输入n和n个大于1的正整数,并判断、输出其中的素数以及统计素数个数的代码。其中,素数的判定使用了函数issus。
```c
#include <stdio.h>
int issus(int m)
{
int i;
for (i = 2; i <= m / 2; i++) {
if (m % i == 0) {
return 0; // 不是素数
}
}
return 1; // 是素数
}
int main()
{
int n, i, m = 0;
printf("请输入n:");
scanf("%d", &n);
int a[n];
printf("请输入%d个大于1的正整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
if (a[i] <= 1) {
printf("输入错误,每个数必须大于1!\n");
return 0;
}
if (issus(a[i])) {
printf("%d ", a[i]);
m++;
}
}
if (m == 0) {
printf("No");
}
printf("\n素数个数为:%d\n", m);
return 0;
}
```
运行时,先输入n,再输入n个大于1的正整数,程序会判断并输出其中的素数,并统计素数个数。如果不存在素数,则输出"No"。
阅读全文