用C语言写从键盘中输入一个大与0的整数,判断该数是素数还是合数
时间: 2024-05-09 14:18:46 浏览: 101
```
#include <stdio.h>
int main() {
int num, i, flag = 0;
printf("请输入一个大于0的整数:");
scanf("%d", &num);
for (i = 2; i <= num / 2; i++) {
if (num % i == 0) {
flag = 1;
break;
}
}
if (flag == 0)
printf("%d是素数\n", num);
else
printf("%d是合数\n", num);
return 0;
}
```
解释:
1. 首先从键盘中输入一个大于0的整数,保存在变量`num`中。
2. 利用`for`循环从2开始到`num/2`结束,依次判断`num`能否被2到`num/2`的整数整除。
3. 如果能被整除则说明`num`是合数,将`flag`变量设为1,跳出循环;否则说明`num`是素数,`flag`变量保持为0。
4. 根据`flag`变量的值输出相应的结果。
注:素数指只能被1和自身整除的正整数,2是最小的素数。
相关问题
C语言编写程序从键盘输入一个正整数判断,该数是否为素数
好的,让我来回答您的问题。
以下是判断正整数是否为素数的 C 语言代码:
```
#include <stdio.h>
int main() {
int n, i, flag = 0;
printf("请输入一个正整数:");
scanf("%d", &n);
// 判断是否为质数
for (i = 2; i <= n / 2; ++i) {
// 如果 n 能被 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;
}
```
输入一个正整数,然后使用循环从2到n/2逐个判断该数是否能被i整除,如果能则说明该数不是质数,反之则是质数。
C语言判断从键盘上输入的整数是不是质数
以下是判断是否为质数的 C 语言代码:
```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;
}
```
这段代码的思路是从 2 开始到 n/2 遍历每个自然数,若该自然数是 n 的因数,则 n 不是质数。如果没有找到 n 的因数,则 n 是质数。需要注意的是,1 既不是质数也不是合数,因此需要特殊处理。
阅读全文