从键盘输入一个数要求不能为负数,判断该数是否为素数,输入时要求有提示语句,如果输入的数据不在要求范围内,要有相应的错误提示,直到输入正确,要求判断过程用子函数完成,在主函中调用该函数并将结果显示输出。用c语言
时间: 2024-10-10 14:05:15 浏览: 38
输入一个正整数,判断是不是素数(C++)
在 C 语言中,我们可以按照以下步骤编写程序来实现这个功能:
首先,我们需要创建一个 `is_prime` 函数,用于检查输入的数是否为素数。素数是一个大于1的自然数,除了1和它本身以外不再有其他因数。
```c
#include <stdio.h>
// 定义判断素数的函数
int is_prime(int num) {
if (num <= 1) // 数字小于等于1不是素数
return 0;
for (int i = 2; i * i <= num; i++) { // 只需检查到其平方根即可
if (num % i == 0)
return 0; // 如果能被整除,则不是素数
}
return 1; // 否则是素数
}
```
接下来,在主函数 `main()` 中,我们会进行循环获取用户输入,并对输入进行验证。如果输入是负数,我们会给出错误提示并让用户重新输入。
```c
int main() {
int input;
printf("请输入一个非负整数:\n");
while (true) {
scanf("%d", &input); // 获取用户输入
if (input >= 0) { // 输入为正数或零
break; // 输入满足条件,跳出循环
} else {
printf("错误!输入必须是非负整数,请重新输入。\n");
}
}
// 调用 is_prime 函数判断输入的数是否为素数
int result = is_prime(input);
printf("输入的数字 %d 是素数吗?%s\n", input, result ? "是" : "否");
return 0;
}
```
阅读全文