用c语言写100以内所有素数
时间: 2023-06-09 08:05:21 浏览: 54
好的,以下是用 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语言输出100以内的所有质数的例子:
1.每5个数据输出在一行,空格分开
```c
#include <stdio.h>
int main() {
int i,j,k=0;
for(i=2;i<=100;i++) {
for(j=2;j<i;j++) {
if(i%j==0) {
break;
}
}
if(j>=i) {
printf("%d\t",i);
k ++;
if(k%5==0) {
printf("\n");
}
}
}
return 0;
}
```
2.不要求每5个数据输出在一行,空格分开
```c
#include<stdio.h>
int main(){
int i,j;
for(i=2;i<100;i++) {
int p=1;
for(j=2;j<i;j++) {
if(i%j==0) {
p=0;
break;
}
}
if(p==1){
printf("%d ",i);
}
}
return 0;
}
```