“要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人…万中无一”
——包租婆 这道理放在C语言学习上也一并受用。在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语言小白进阶到高手,需要经历的是日积月累的学习。 那么如何学习呢? 当然是每天都练习一道C语言题目!!作者
闫小林
白天搬砖,晚上做梦。我有故事,你有酒么?
例52:输入一行字符,C语言编程分别统计出其中英文字母、空格、数字和其他字符的个数。
解析:首先要手动录入信息,但是scanf函数不记录空格,所以首先键盘录入要用getchar函数。 源代码演示:#include//头文件 int main()//主函数 {char input_Character;//定义字符变量 int letters=0,space=0,digit=0,other=0;//定义整型变量且赋初值 printf("请输入一行字符:");//提示语句 while((input_Character=getchar())!='\n') //getchar函数录入,可以把空格也算做字符
{if(input_Character>'a'&&input_Character<'z'||input_Character>'A'&&input_Character<'Z')//如果是字母
{
letters++;//letters加1
}else if(input_Character==' ')//如果是空格
{
space++;//sapce加1
}else if(input_Character>='0'&&input_Character<='9')//如果是数字
{
digit++;//digit加1
}else
{
other++;//other加1
}
}printf("字母:%d个\n",letters);//输出字母个数 printf("空格:%d个\n",space);//输出空格个数 printf("数字:%d个\n",digit);//输出数字个数 printf("其他字符:%d个\n",other);//输出其他字符个数 return 0;//主函数返回
}
编译运行结果如下:
请输入一行字符:kk 34!
字母:2个
格:1个
数字:2个
其他字符:1个
--------------------------------
Process exited after 15.16 seconds with return value 0
请按任意键继续. . .
小林盲猜,有读者不理解这行代码:
while((input_Character=getchar())!='\n')
打过ACM的读者应该明白,小林在这里解释一下,这句代码翻译成中文的意思是,当输入的字符不少换行时,也就是,键盘输入字符一直没有点击enter键换行。
以上,如果你看了觉得对你有所帮助,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~
C语言学习路线
C语言开发工具
C++学习路线
C#学习路线
长按关注
学习C/C++不迷路