用C语言判断素数用户输入一个数据,如果是素数咋程序输出一,否则输出零
时间: 2023-05-28 18:07:57 浏览: 110
以下是用 C 语言编写的判断素数的程序:
```c
#include <stdio.h>
int main()
{
int num, i, isPrime = 1;
printf("请输入一个整数:");
scanf("%d", &num);
for(i = 2; i <= num / 2; i++)
{
if(num % i == 0)
{
isPrime = 0;
break;
}
}
if(isPrime == 1)
printf("1");
else
printf("0");
return 0;
}
```
程序运行时,会提示用户输入一个整数,然后用 for 循环从 2 到 num/2 判断该数是否能够被整除。如果能够被整除,则说明该数不是素数,将 isPrime 置为 0,并跳出循环。如果循环结束后 isPrime 仍然为 1,则说明该数是素数,输出 1;否则输出 0。
相关问题
输入格式:第一行是一个正整数m,表示有m组输入数据。然后是m行数据,每一行一个正整数n。输出格式:对每一组输入,判断n是否是素数,是的话输出Y,否则输出N。 c语言
以下是一个简单的 C 语言程序,可以实现对于 m 组输入数据的判断,输出每个 n 是否为素数的结果:
```c
#include <stdio.h>
int is_prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int m, n;
scanf("%d", &m);
for (int i = 0; i < m; i++) {
scanf("%d", &n);
if (is_prime(n)) {
printf("Y\n");
} else {
printf("N\n");
}
}
return 0;
}
```
程序中使用了一个名为 `is_prime` 的函数,用于判断一个正整数是否为素数。该函数的实现方法是:从 2 开始,依次判断 2 到 sqrt(n) 是否能整除 n,如果存在能整除 n 的数,则 n 不是素数,返回 0;否则,n 是素数,返回 1。
在主函数中,先读入 m 的值,然后循环 m 次,每次读入一个 n,调用 `is_prime` 函数判断 n 是否为素数,并输出相应的结果。
用c语言,给你一个整数,判断是不是素数,如果是输出YES,否则输出NO,多组测试数据,每组一行<10^9,当输入-1时结束,对每组测试数据,在一行中输出YES或NO
在 C 语言中,我们可以编写一个函数来判断一个给定的整数是否为素数。以下是简单的算法实现:
```c
#include <stdbool.h>
#include <stdio.h>
bool isPrime(int num) {
if (num <= 1) {
return false;
}
// 如果 num 小于等于 sqrt(num),那么只需要检查到 sqrt(num)
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int input;
while (scanf("%d", &input) != EOF && input != -1) {
if (isPrime(input)) {
printf("YES\n");
} else {
printf("NO\n");
}
}
return 0;
}
```
这个程序首先从用户那里读取一个整数作为输入,如果输入的是 -1,则退出循环。对于每个输入值,`isPrime` 函数会检查它是否能被 2 到其平方根之间的任意数字整除,如果可以,则返回 `false`(不是素数),否则返回 `true`(是素数)。最后在 `main` 中输出相应的 "YES" 或 "NO"。
阅读全文