如何在C程序中打印与输入字符最接近的字母数字?

如何在C程序中打印与输入字符最接近的字母数字?,c,printf,character,ascii,alphanumeric,C,Printf,Character,Ascii,Alphanumeric,这就是确切的问题: 编写一个C程序,将一个字符作为输入,并打印最接近该字符的字母数字字符(0-9、a-Z、a-Z是字母数字字符)。注意:如果输入字符与两个字母数字值的距离相等,则可以打印其中一个。 我知道我们必须使用ASCII表并制作一些案例,但我不知道如何准确地做到这一点。是的,解决方案依赖于ASCII值。您只需使用if-else-if梯形图即可计算出与输入字符最接近的字母数字字符。如果输入已经是字母数字字符,您可以使用内置的isalpha和isdigit功能快速得出解决方案。如果不是,则使用

这就是确切的问题:

编写一个C程序,将一个字符作为输入,并打印最接近该字符的字母数字字符(0-9、a-Z、a-Z是字母数字字符)。注意:如果输入字符与两个字母数字值的距离相等,则可以打印其中一个。


我知道我们必须使用ASCII表并制作一些案例,但我不知道如何准确地做到这一点。

是的,解决方案依赖于ASCII值。您只需使用if-else-if梯形图即可计算出与输入字符最接近的字母数字字符。如果输入已经是字母数字字符,您可以使用内置的
isalpha
isdigit
功能快速得出解决方案。如果不是,则使用比较运算符
,并计算出您的解决方案位于这些范围的哪一端0-9A-ZA-Z

为了减少比较次数,进行比较的顺序很重要。这是供参考的文件

因为你是这个网站的新手,所以请接受我的代码并从中学习。但是您可能并不总是以完整代码的形式在这里得到解决方案

#include <stdio.h>
#include <ctype.h>

int main()
{
    unsigned char input, tmp, result;

    printf("Enter the input character: ");
    scanf("%c", &input);

    if (isalpha(input))
    {
        tmp = input - 1;
        result = isalpha(tmp) ? tmp : input + 1;
    }
    else if (isdigit(input))
    {
        tmp = input - 1;
        result = isdigit(tmp) ? tmp : input + 1;
    }
    else if (input < '0')
    {
        result = '0';
    }
    else if (input > '9' && input < 'A')
    {
        result = (input - '9' > 'A' - input) ? 'A' : '9';
    }
    else if (input > 'Z' && input < 'a')
    {
        result = (input - 'Z' > 'a' - input) ? 'a' : 'Z';
    }
    else
    {
        result = 'z';
    }

    printf("Alphanumeric character closest to '%c' is '%c'", input, result);

    return 0;
}
#包括
#包括
int main()
{
无符号字符输入,tmp,结果;
printf(“输入字符:”);
scanf(“%c”,&input);
if(isalpha(输入))
{
tmp=输入-1;
结果=isalpha(tmp)?tmp:输入+1;
}
否则如果(isdigit(输入))
{
tmp=输入-1;
结果=isdigit(tmp)?tmp:输入+1;
}
否则如果(输入<'0')
{
结果='0';
}
否则如果(输入>'9'&输入<'A')
{
结果=(输入-'9'>'A'-输入)?'A':'9';
}
else if(输入>'Z'&输入<'a')
{
结果=(输入-'Z'>'a'-输入)?'a':'Z';
}
其他的
{
结果='z';
}
printf(“最接近“%c”的字母数字字符是“%c”,输入,结果);
返回0;
}

发布您的代码!您尝试了什么?如果输入不在A-Za-z0-9范围内,那么您应该编写一系列If语句,以确定它最接近哪个范围以及从哪一侧开始。请注意,字符输入可以在ASCII 0-127范围之外。这里使用的是
无符号字符输入
字符输入
的微妙、首选和正确用法。