K&R《C程序设计语言》p15:统计各个数字、空白符及其他字符出现的次数
来源:互联网 发布:泳池派对李青 淘宝价格 编辑:程序博客网 时间:2024/05/16 15:11
代码:
#include <stdio.h>/* 统计各个数字、空白符及其他字符出现的次数 */int main() { int c, i, nwhite, nother; int ndigit[10]; nwhite = nother =0; for (i = 0; i < 10; ++i) { ndigit[i] = 0; } printf("请输入字符\n(Windows系统要结束输入请先换行再按ctrl+z,\nLinux/Unix/Mac系统要结束输入请先换行再按ctrl+d)\n"); while ((c = getchar()) != EOF) { if (c >='0' && c <= '9') { ++ndigit[c-'0']; } else if (c == ' ' || c == '\n' || c == '\t') { ++nwhite; } else { ++nother; } } for (i = 0; i < 10; ++i) { printf("数字%d出现了%d次\n", i, ndigit[i]); } printf("空格或换行或tab出现了%d次\n其他字符出现了%d次\n", nwhite, nother); return 0;}
运行结果:
说明:
(1) 此程序来自K&R 《The C Programming Language》中文版第2版P15,输出格式做了少量修改。
(2) EOF是End of File的缩写,代表输入结束。在Windows系统中是换行后按Ctrl + z,在Linux/Unix/Mac中是换行后按Ctrl + d。
(3)
for (i = 0; i < 10; ++i)
{
ndigit[i]= 0;
}
展开来就是
ndigit[0]=0;
ndigit[1]=0;
ndigit[2]=0;
ndigit[3]=0;
ndigit[4]=0;
ndigit[5]=0;
ndigit[6]=0;
ndigit[7]=0;
ndigit[8]=0;
ndigit[9]=0;
这是在输入字符之前,先把0,1,2,……9出现的次数置为0。
(4)
if (c >='0' && c <= '9')
{
++ndigit[c-'0'];
}
这是判断假如输入的字符为0到9之间(包含0和9),那么相应的计数要+1。
以输入‘121’为例,
输入第一个‘1’时,则ndigit['1'-'0']=ndigit[1],ndigit[1]原先的值为0,这里+1后就变成1
输入第一个‘2’时,则ndigit['2'-'0']=ndigit[2],ndigit[2]原先的值为0,这里+1后就变成1
输入第二个‘1’时,则ndigit['1'-'0']=ndigit[1],ndigit[1]原先的值为1,这里+1后就变成2
(5)
字符‘0’对应的ASCII编码是48
字符‘1’对应的ASCII编码是49
字符‘2’对应的ASCII编码是50
字符‘3’对应的ASCII编码是51
字符‘4’对应的ASCII编码是52
字符‘5’对应的ASCII编码是53
字符‘6’对应的ASCII编码是54
字符‘7’对应的ASCII编码是55
字符‘8’对应的ASCII编码是56
字符‘9’对应的ASCII编码是57
字符‘A’对应的ASCII编码是65
字符‘B’对应的ASCII编码是66
……(其他24个大写字母按此增加顺序类推)
字符‘a’对应的ASCII编码是97
字符‘b’对应的ASCII编码是98
……(其他24个小写字母按此增加顺序类推)
(6)用键盘输入输出时,眼睛看到的数字其实全都是字符
- K&R《C程序设计语言》p15:统计各个数字、空白符及其他字符出现的次数
- 统计各个数字、空白符、及所有其他字符出现的次数
- 4.统计各个数字,空白符,以及其他字符出现的次数
- 【C语言】编写一个程序统计输入字符串中: 各个数字、空白字符、以及其他所有字符出现的次数。
- C语言:编写一个程序统计输入字符串中,各个数字、空白字符、以及其他所有字符出现的次数。
- 统计输入字符串中: 各个数字、空白字符、以及其他所有字符出现的次数
- 统计字符串中:各个数字、空白字符、以及其他所有字符出现的次数
- 编写一个程序统计输入字符串中: 各个数字、空白字符、以及其他所有字符出现的次数
- 编写一个程序统计各个数字、空白符(包括空格符、制表符及换行符)以及其它字符出现的次数
- 统计字符出现的次数和数字出现的次数
- 统计字符串中英文字母、汉字、空格、数字及其他字符出现的字数
- 有序数组统计各个数字出现的次数
- 统计字符串中各个字符出现的次数
- 统计文本中各个字符出现的次数
- python统计一个文档中 各个字符出现的次数
- java统计字符串中各个字符的出现次数
- 统计一串字符串中各个字符出现的次数
- 统计字符串中各个字符出现的次数
- 阿里云服务器部署方案(nginx+tomcat+mysql)
- 关键词标记
- 【android】Gif合成
- 18105 银行的叫号顺序
- USACO section 1.3 Wormholes
- K&R《C程序设计语言》p15:统计各个数字、空白符及其他字符出现的次数
- SwipeRefreshLayout嵌套双层RecyclerView时刷新触发冲突的解决
- Samba服务简介与httpd扩展
- 学习6:编译ROS程序包,和学习ROS节点
- 2017.06.07回顾 requests
- Maven deploy plugin使用
- 线程的互斥机制
- samba软件的使用
- 【Android】常用Adb Shell命令