用c语言编程键盘输入一个正整数,要求判断该数是否为素数。素数即质数,只能被1和它本身整除。特别说明,1不是素数。如果是素数,输出“YES”,否则输出“NO”。 输入格式: 输入只有一个用例,即一个整数n。 输出格式: 如果n是素数,输出“YES”,否则输出“NO”。 输入样例: 11 输出样例: 在这里给出相应的输出。例如: YES
时间: 2023-06-17 14:08:50 浏览: 192
以下是使用C语言编写的判断一个正整数是否为素数的代码:
```c
#include <stdio.h>
int main()
{
int n, i, isPrime = 1;
scanf("%d", &n);
if (n == 1) {
isPrime = 0;
} else if (n == 2) {
isPrime = 1;
} else {
for (i = 2; i < n; i++) {
if (n % i == 0) {
isPrime = 0;
break;
}
}
}
if (isPrime) {
printf("YES\n");
} else {
printf("NO\n");
}
return 0;
}
```
代码思路如下:
1. 从键盘输入一个正整数n;
2. 如果n等于1,则不是素数;
3. 如果n等于2,则是素数;
4. 如果n大于2,则从2到n-1枚举每一个数,判断n能否被该数整除;
5. 如果n能被2到n-1之间的任意一个数整除,则不是素数;
6. 如果n不能被2到n-1之间的任何一个数整除,则是素数。
相关问题
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整除,如果能则说明该数不是质数,反之则是质数。
素数也成为质数,指的是大于1的整数中,只能被1和这个数本身整除的数。 从键盘输入一系列大于1的正整数,输入1时表示输入结束。 求输入的这些正整数中素数的和。 输入格式: 从键盘输入一系列大于1的正整数,输入1时表示输入结束。 输出格式: 输入的这些正整数中素数的和。c语言
实现如下:
#include <stdio.h>
int is_prime(int num) // 判断一个数是否为素数
{
if (num == 2 || num == 3) {
return 1;
}
if (num == 1 || num % 2 == 0) {
return 0;
}
for (int i = 3; i * i <= num; i += 2) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main()
{
int num, sum = 0;
while (1) {
scanf("%d", &num);
if (num == 1) {
break;
}
if (is_prime(num)) {
sum += num;
}
}
printf("%d\n", sum);
return 0;
}
阅读全文