c - 检测素数的 C 程序
问题描述
所以我正在尝试根据以下规范编写代码 - 输入一个最多包含 3 个数字的十进制数,并确定输入的数字是否是质数。如果输入的数字超过 3 个,程序应该输出消息超过 3 个字符并退出。如果输入了非数字字符,程序应输出消息 Invalid input and exit。如果输入有效,您的程序应显示输入的消息编号是质数或输入的消息编号不是质数。
我真的不确定不仅如何使用循环计算素数,还不确定在哪里将其输入到我的程序中。我知道这是一个非常基本的问题。
#include <stdio.h>
#include <string.h>
#define FALSE 0
#define TRUE 1
/* check string only contains decimal digits */
int numeric(char* string)
{
int i, valid;
valid = TRUE;
for (i = 0; i < strlen(string); i++)
{
if (string[i] < '0' || string[i] > '9')
valid = FALSE;
}
return valid;
}
/* main function */
int main()
{
char number[4];
int count, toolong = FALSE;
printf("Enter number: ");
fgets(number, 4, stdin);
if (number[strlen(number) - 1] == '\n')
number[strlen(number) - 1] = '\0';
else
while (getchar() != '\n')
toolong = TRUE;
if (toolong)
{
printf("More than 3 characters");
return 1;
}
if (!numeric(number))
{
printf("'%s' is an invalid number\n",
number);
}
printf("'%s' is a valid number\n",
number);
return 0;
}
谢谢 :)
解决方案
推荐阅读
- python - _wrapped() 缺少 1 个必需的位置参数:“请求”:方法装饰器问题。(Django,速率限制库)
- python - 如何在 Pyomo 中添加最小值约束
- javascript - Javascript。通过 aria-label 和 class 获取所有元素
- java - “sendVerificationCode”方法未在 Firebase 中执行
- postgresql - 使用监听/通知流式传输失败
- c++ - 如何阻止我的程序返回到应该完成执行的函数?
- python - 如何只返回 True 值?
- java - 通过代码 Android Studio 添加一个 ImageView
- keyword - MMT 中的 `ref` 关键字有什么作用?
- hive - 无法将数据插入 Hive 表