用·c语言解决下列问题:第7章实验任务1: 所谓素数是指这个数只能被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" 程序运行示例: Please input a number:↙ 0↙ 1↙ 11↙ 11 is a prime number↙ ↙ 程序运行示例: Please input a number:↙ 4↙ 4 is not a prime number↙ ↙
时间: 2024-02-08 18:03:11 浏览: 70
c语言:实现一个函数,判断一个数是不是素数
5星 · 资源好评率100%
以下是C语言代码实现:
```c
#include <stdio.h>
int Fun(int m);
int main() {
int num;
while (1) {
printf("Please input a number:\n");
scanf("%d", &num);
if (num <= 1) {
printf("Invalid input. Please input a positive integer greater than 1.\n");
continue;
}
if (Fun(num)) {
printf("%d is a prime number\n", num);
} else {
printf("%d is not a prime number\n", num);
}
break;
}
return 0;
}
int Fun(int m) {
for (int i = 2; i < m; i++) {
if (m % i == 0) {
return 0;
}
}
return 1;
}
```
解释:
首先在主函数中使用循环不断输入数字。如果输入的数字小于或等于1,则打印一条错误信息并重新开始循环。否则,调用`Fun`函数判断该数字是否为素数。如果是素数,则打印相应的信息并退出循环。如果不是素数,则同样打印相应的信息并退出循环。
`Fun`函数从2开始循环,如果存在一个数能够整除该数字,则返回0;否则返回1。
阅读全文