gpt4 book ai didi

C程序检查数字中的数字是否为偶数

转载 作者:行者123 更新时间:2023-11-30 21:37:29 25 4
gpt4 key购买 nike

输入和输出格式:

输入由与帐单编号相对应的数字组成。账单号码为3位数字,且3位数字均为偶数。

输出由"is"或“否”字符串组成。当客户收到奖品时,输出为 yes,否则输出为 no。

示例:

Input     Output
565 no
620 yes
66 no # Not a 3-digit number (implicit leading zeros not allowed)
002 yes # 3-digit number

我通过使用“number”mod 10获取单个数字,然后检查“digit”mod 2是否为0来解决这个问题......

但是如果我输入“002”,它会打印“no”,而不是我希望它应该是“yes”。

代码 - 从评论中复制并格式化:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int main()
{
int num, t, flag, count = 0;
while (num)
{
t = num % 10;
num = num / 10;
if (t % 2 == 0)
{
flag = 1;
}
else
{
flag = 0;
}
count++;
}
if (flag == 1 && count == 3)
{
printf("yes");
}
else
{
printf("no");
}
return 0;
}

最佳答案

您必须使用字符串而不是数字,否则无法表示 002 值。

识别偶数:

int even(char c) {
switch (c) {
case '0':
case '2':
case '4':
case '6':
case '8':
return 1;
default:
return 0;
}
}

识别仅包含偶数数字的字符串:

int all_even(char* s) {
while (*s != '\0') {
if (!even(*s)) {
return 0;
}
s++;
}
return 1;
}

仅对 3 个偶数数字的字符串返回“yes”,对所有其他字符串返回“no”:

char* answer(char* s) {
return (strlen(s) == 3 && all_even(s)) ? "yes" : "no";
}

关于C程序检查数字中的数字是否为偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31283810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com