请你用c语言编写一段程序,用于判断是否为素数
时间: 2023-04-10 13:03:25 浏览: 107
好的,以下是判断素数的C语言程序:
```
#include <stdio.h>
int main() {
int n, i, flag = 0;
printf("请输入一个正整数:");
scanf("%d", &n);
for (i = 2; i <= n / 2; ++i) {
if (n % i == 0) {
flag = 1;
break;
}
}
if (n == 1) {
printf("1既不是素数也不是合数。\n");
} else {
if (flag == 0)
printf("%d是素数。\n", n);
else
printf("%d不是素数。\n", n);
}
return 0;
}
```
希望这个程序能够帮到你!
相关问题
c语言编写一段程序:用筛选法求100之内的素数
```
#include <stdio.h>
int main() {
int i, j, prime[101] = {0}, count = 0;
// 筛选法求素数
for (i = 2; i <= 100; i++) {
if (prime[i] == 0) {
count++;
for (j = i * i; j <= 100; j += i) {
prime[j] = 1;
}
}
}
// 输出素数
printf("100以内的素数有:\n");
for (i = 2; i <= 100; i++) {
if (prime[i] == 0) {
printf("%d ", i);
}
}
printf("\n共有%d个素数\n", count);
return 0;
}
```
用c语言编写一段程序,要求:设计一个函数,用以判断一个整数是否为素数,如果是,则返回1;如果不是,则返回0;并用此函数,找出100-200间的所有素数。
以下是用C语言编写的程序,实现了题目要求的功能:
```c
#include <stdio.h>
int isPrime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
printf("100-200间的所有素数为:\n");
for (int i = 100; i <= 200; i++) {
if (isPrime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
首先定义了一个`isPrime()`函数,用于判断一个整数是否为素数。如果这个数小于等于1,那么它一定不是素数,直接返回0;否则,从2开始到它的平方根之间的所有数都去尝试除它,如果存在一个数能够整除它,那么这个数就不是素数,返回0;否则,这个数就是素数,返回1。
然后在`main()`函数中,对100-200之间的所有整数都调用`isPrime()`函数进行判断,如果是素数就输出。最后输出所有素数之后,程序结束。
阅读全文