用C语言写输入100内的素数
时间: 2023-09-27 09:07:03 浏览: 86
以下是用C语言写的输入100内的素数程序:
```c
#include <stdio.h>
int main() {
int i, j, flag;
printf("2 ");
for (i = 3; i <= 100; i += 2) {
flag = 1;
for (j = 2; j <= i / 2; ++j) {
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag == 1) {
printf("%d ", i);
}
}
return 0;
}
```
代码解析:
首先输出2,因为2是最小的素数,然后从3开始循环到100,每次循环增加2,因为偶数不可能是素数。
在每次循环中,用flag变量标记当前数字是否是素数,初始值为1。
然后用一个内层循环判断当前数字是否是素数,从2循环到当前数字的一半,如果当前数字可以被整除,就将flag标记为0,跳出内层循环。
最后,如果flag仍然为1,说明当前数字是素数,输出该数字。
相关问题
用c语言对输入数字进行质数判断
好的,可以。以下是一个简单的 C 语言程序,用于判断一个输入的数字是否是质数:
```
#include <stdio.h>
int main() {
int num, i, flag = 0;
printf("请输入一个整数:");
scanf("%d", &num);
// 判断是否为质数
for (i = 2; i <= num / 2; ++i) {
// 如果能整除,则不是质数
if (num % i == 0) {
flag = 1;
break;
}
}
if (flag == 0 && num != 1)
printf("%d 是质数", num);
else
printf("%d 不是质数", num);
return 0;
}
```
该程序从用户输入一个整数开始,进行循环判断直到判断出输入的数字是否是质数,并输出相应的结果。
用c语言写isprime函数判断素数
在C语言中,编写一个`isprime`函数用于判断一个整数是否为素数,可以按照下面的步骤进行:
```c
#include <stdio.h>
// 定义一个布尔型的函数isprime,接收一个整数作为参数
int isprime(int num) {
// 素数定义:大于1的自然数且只有1和它本身两个正因数
if (num <= 1) {
return 0; // 1不是质数,0和负数也不算
} else if (num == 2) {
return 1; // 2是最小的质数
} else {
// 循环检查从2到sqrt(num),如果找到能整除的数就返回0,表示不是质数
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1; // 没有找到因子,那么它是质数
}
}
int main() {
int number;
printf("请输入一个整数:");
scanf("%d", &number);
if (isprime(number)) {
printf("%d是质数\n", number);
} else {
printf("%d不是质数\n", number);
}
return 0;
}
```
阅读全文