对输入的一个数判断是否是素数。所谓素数是指这个数只能被1和自身整除。要求在主函数输入一个数,调用函数Fun()判断该数是否是素数。打印信息在主函数中进行。例如:从键盘输入5,5是素数则打印如下信息:"5 is a prime number"。又如:从键盘输入4, 4不是素数则打印如下信息:"4 is not a prime number"。负数、0和1均不是素数,输入这些数时,要求重新输入。对输入的数据要考虑数据的合法性,不满足条件的数要重新输入直到满足条件为止。不能使用全局变量,不按给定的函数原型编写程序 不给分。Fun()函数原型为: int Fun(int m); **输入数据提示信息:"Please input a number:\n" 注:该提示信息请放在循环体外 **输入数据格式为:"%d" **输出格式要求: 若是素数输出数据格式为:"%d is a prime number\n" 若不是素数输出数据格式为: "%d is not a prime number\n c语言
时间: 2024-02-28 15:55:47 浏览: 94
输入一个正整数,判断是不是素数(C++)
好的,以下是符合要求的 C 语言代码实现:
```c
#include <stdio.h>
int is_prime(int num) {
if (num < 2) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int Fun(int m) {
while (m <= 1) {
printf("Please input a number:\n");
scanf("%d", &m);
}
return m;
}
int main() {
int num;
printf("Please input a number:\n");
while (scanf("%d", &num)) {
num = Fun(num);
if (is_prime(num)) {
printf("%d is a prime number\n", num);
} else {
printf("%d is not a prime number\n", num);
}
printf("Please input a number:\n");
}
return 0;
}
```
这个程序中,`is_prime` 函数用来判断一个整数是否为素数,`Fun` 函数用来检查输入的数是否合法,不合法就重新输入。在主函数中,程序通过不断循环来读入输入的数并进行判断。当输入不合法时,程序会提示重新输入。当输入合法时,程序会调用 `is_prime` 函数进行判断,并输出结果。
注意:由于 C 语言中没有 bool 类型,因此在本程序中使用 1 表示素数,0 表示非素数。
阅读全文