(C语言)判断是不是字母问题,(getchar putchar的使用)

题目

描述
KiKi想判断输入的字符是不是字母,请帮他编程实现

输入描述:
多组输入,每一行输入一个字符。 输出描述: 针对每组输入,输出单独占一行,判断输入字符是否为字母,输出内容详见输出样例。

示例1
输入:
A
6

输出:
A is an alphabet.
6 is not an alphabet.

我的方法:

#include<stdio.h>
int main() {
	int str =0;
    while (scanf("%c", &str)!=EOF)
    {
        if (str >= 'a' && str <= 'z' || str >= 'A' && str <= 'Z')
        {
            printf("%c is an alphabet.\n", str);
        }
        else
        {
            printf("%c is not an alphabet.\n", str);
        }
        getchar();
    }
	return 0;
}

经验分享来了

正规答案方法:

#include<stdio.h>
int main() {
int ch = 0;
while ((ch = getchar()) != EOF)
//getchar( )是从键盘接收一个字符然后以ASC码值的形式存到ch里
//小知识:如果2为字符的话,数字2这个字符的ASC码值为50
//计算公式为: 数字+48(‘0’)=ASC码值
这里的48其实是字符0的ASC码值
{​​​​​​​
//判断字母
//if((ch>=‘A’ && ch<=‘Z’) || (ch>=‘a’ && ch<=‘z’))
if (isalpha(ch)) //判断字母的内置函数
{
printf(“%c is an alphabet.\n”, ch);
}
else
{
printf(“%c is not an alphabet.\n”, ch);
}
/*清理掉\n,因为当你输入一个值的时候,要按下回车键才能让上方while循环里的getchar开始接收,而回车键相当于\n,所以要运用getchar来清理输入缓冲区,防止\n影响下一次getchar的取值/

getchar();
}
return 0;
}

萌新小白结合大佬的知识写的,请大佬们多多指教
请添加图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有效的放假者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值