c语言求1到20以内素数
时间: 2023-12-11 07:49:17 浏览: 24
以下是求1到20以内素数的C语言代码:
```
#include <stdio.h>
int main() {
int i, j, flag;
for (i = 2; i <= 20; i++) {
flag = 1; // 假设i是素数
for (j = 2; j < i; j++) {
if (i % j == 0) { // 如果i能被j整除,说明i不是素数
flag = 0;
break;
}
}
if (flag) { // 如果i是素数,则输出
printf("%d ", i);
}
}
return 0;
}
```
运行结果:
```
2 3 5 7 11 13 17 19
```
相关问题
用C语言求1到1000以内素数的平均数
以下是用C语言求1到1000以内素数的平均数的代码:
```c
#include <stdio.h>
int main() {
int i, j, is_prime, count = 0, sum = 0;
for (i = 2; i <= 1000; i++) {
is_prime = 1;
for (j = 2; j <= i / 2; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
count++;
sum += i;
}
}
printf("1到1000以内素数的平均数为:%.2f\n", (float)sum / count);
return 0;
}
```
代码中使用了两个循环,外层循环遍历1到1000之间的所有数字,内层循环判断每个数字是否是素数。如果是素数,则将其累加到sum变量中,并将计数器count加1。最后输出素数的平均数。需要注意的是,为了避免整数除法带来的误差,需要将sum强制转换为float类型再除以count。
求1到100以内所有素数c语言
以下是两种求1到100以内所有素数的C语言代码:
1. 嵌套循环判断法
```c
#include <stdio.h>
int main() {
int i, j;
for (i = 2; i <= 100; i++) {
for (j = 2; j < i; j++) {
if (i % j == 0) {
break;
}
}
if (j == i) {
printf("%d ", i);
}
}
return 0;
}
```
2. 自定义函数判断法
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdbool.h>
bool isprime(int i) {
int j;
for(j = 2; j <= sqrt(i); j++){
if(i%j == 0){
return false;
}
}
return true;
}
int main() {
int i ,j;
printf("打印100以内所有素数:\n");
for(i = 2;i <= 100; i++){
if(isprime(i)){
printf("%d ",i);
}
}
return 0;
}
```