用if语句写一个c程序,向程序输入一个正整数,请你判断该正整数是否是素数,如果是,则输出Yes,否则输出No
时间: 2024-05-02 07:20:35 浏览: 55
以下是C程序的代码:
```c
#include <stdio.h>
int main() {
int num, i, flag = 1;
printf("请输入一个正整数:");
scanf("%d", &num);
if (num <= 1) { // 1不是素数
flag = 0;
} else {
for(i = 2; i <= num/2; i++) {
if(num % i == 0) {
flag = 0;
break;
}
}
}
if(flag == 1) {
printf("Yes");
} else {
printf("No");
}
return 0;
}
```
以上代码中,用flag标记是否为素数,初始值设为1,如果该数能够被2~num/2之间的任意一个数整除,则flag设为0,表示不是素数。最后根据flag的值输出Yes或No。
相关问题
编写程序,判断从键盘输入的正整数n是否是素数,判断素数的语句写在子函数中。用C语言编写程序
在C语言中,我们可以创建一个函数来检查一个数字是否为素数。首先,我们需要编写一个用于检测素数的辅助函数,然后再在主函数中接收用户输入并调用该函数。以下是相应的代码:
```c
#include <stdio.h>
// 辅助函数,用于检查一个数是否为素数
int isPrime(int num) {
if (num <= 1) { // 0和1不是素数
return 0;
} else if (num == 2) { // 2是最小的素数
return 1;
} else if (num % 2 == 0) { // 偶数除了2之外都不是素数
return 0;
}
// 检查从3到sqrt(num)的所有奇数因子
for (int i = 3; i * i <= num; i += 2) {
if (num % i == 0) {
return 0; // 如果找到因子,那么num不是素数
}
}
return 1; // 如果没找到因子,num就是素数
}
int main() {
int n;
printf("请输入一个正整数: ");
scanf("%d", &n);
// 判断输入的数是否为素数并输出结果
if (isPrime(n)) {
printf("%d是素数。\n", n);
} else {
printf("%d不是素数。\n", n);
}
return 0;
}
```
在这个程序中,`isPrime` 函数递归地排除了所有小于等于其平方根的偶数因子,因为如果一个数不是质数,必定有一个小于等于它的平方根的因子。主函数则从键盘读取输入,然后调用 `isPrime` 函数判断该数是否为素数。
向程序输入一个正整数,请你判断正整数是否是素数,如果是,则输出Yes,否则输出No,用c语言
在C语言中,我们可以使用循环和条件语句来编写一个函数,用于判断一个正整数是否是素数。以下是简单的实现步骤:
```c
#include <stdio.h>
// 判断是否为素数的辅助函数
int isPrime(int num) {
if (num <= 1) { // 素数定义为大于1的自然数
return 0;
}
for (int i = 2; i * i <= num; i++) { // 只需检查到其平方根即可
if (num % i == 0) {
return 0; // 如果找到因子,说明不是素数
}
}
return 1; // 没有找到因子,它是素数
}
int main() {
int input;
printf("请输入一个正整数:");
scanf("%d", &input);
if (isPrime(input)) {
printf("Yes\n");
} else {
printf("No\n");
}
return 0;
}
```
阅读全文