用c语言写100以内所有素数
时间: 2023-06-09 18:05:21 浏览: 199
好的,以下是用 C 语言写的求解 100 以内所有素数的代码:
```c
#include <stdio.h>
int main() {
int n,i,j;
for(n=2;n<=100;n++) {
for(i=2;i<n;i++) {
if(n%i == 0) break;
}
if(i==n) printf("%d ",n);
}
return 0;
}
```
解释一下代码:
1. 初始化变量 `n` 为 2,表示从 2 开始查找素数。
2. 外层循环用于遍历所有数字,从 2 到 100。
3. 内层循环用于判断当前数字 `n` 是否为素数。
4. 内层循环从 2 到 `n-1` 遍历,判断 `n` 是否能够被整除,如果能够被整除,则说明 `n` 不是素数,退出内层循环。
5. 如果内层循环执行完毕(即没有被退出),则说明 `n` 是素数,将其输出即可。
6. 重复执行 2-5 步,直到所有数字都被遍历完毕。
希望能够帮助到您!
相关问题
C语言输出100以内所有质数
好的,以下是C语言代码:
```c
#include <stdio.h>
int is_prime(int num) {
if (num <= 1) { // 1不是质数
return 0;
}
for (int i = 2; i * i <= num; i++) { // i * i <= num可以减少循环次数
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
for (int i = 2; i <= 100; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
return 0;
}
```
这段代码使用了一个 `is_prime` 函数来判断一个数是否为质数。对于每个小于等于100的数,程序遍历判断是否为质数,是则输出。
C语言求100以内所有素数的和、平均值。
好的,这个问题是计算题,可以回答。下面是代码:
```c
#include <stdio.h>
int main() {
int i, j, sum = 0, count = 0, flag;
for (i = 2; i <= 100; i++) {
flag = 1;
for (j = 2; j < i; j++) {
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag) {
sum += i;
count++;
}
}
printf("100以内所有素数的和为:%d,平均值为:%.2f\n", sum, (float) sum / count);
return 0;
}
```
输出结果为:
```
100以内所有素数的和为:1060,平均值为:20.00
```
阅读全文