getchar 函数的功能是读取字符串并将其返回。输入结束或读取过程中发生错误时,就会返回EOF值。

#include <stdio.h>int main(void){int i, str;int count[10] = {0};puts("请输入数字:");puts("输入完成后 按 Enter"); puts("再按 Ctrl + z ");puts("Enter 结束");while ((str = getchar()) != EOF){switch (str){case '0' :count[0]++;break;case '1' :count[1]++;break;case '2' :count[2]++;break;case '3' :count[3]++;break;case '4' :count[4]++;break;case '5' :count[5]++;break;case '6' :count[6]++;break;case '7' :count[7]++;break;case '8' :count[8]++;break;case '9' :count[9]++;break;}}puts("数字字符的出现次数:");for (i = 0; i < 10; i++){printf("%d: %d\n", i, count[i]);} return 0;
}

运行结果:

注:
在需要对象式宏EOF的程序中,如果没有包含<stdio.h>头文件,则进行如下定义式不行的。
#define EOF -1
因为EOF规定为“负”,但不一定是“-1”。

缓冲:

缓冲
在此程序中,并不是每读入一个字符后就马上输出,而是按下回车键后一并输出。
C语言的输入输出一般会将读入的字符以及待输出的字符暂时保存在缓存中,当达到下列条件时才进行实际的输入输出操作。

  • 1.缓存已满 (全缓冲)
  • 2.输入换行符 (行缓冲)
  • 3.立即输出 (无缓冲)

由于每个数字字符在ASCII 码表中都有对应的值,通过以下程序可对字符的值进行打印。

#include <stdio.h>int main(void){int i;printf("EOF = %d\n", EOF);for (i = 0; i< 10; i++){printf("'%d' = %d\n", i, '0' + i);} return 0;
}

运行结果:


利用ASCII 码表中字符对应的值,可改善 计算一串字符中出现的数字字符数程序中的代码,使程序变得更加简洁。

#include <stdio.h>int main(void) {int i, j, str;int count[10] = { 0 };puts("请输入数字:");puts("输入完成后 按 Enter");puts("再按 Ctrl + z ");puts("Enter 结束");while ((str = getchar()) != EOF) {if (str >= '0' && str <= '9') {count[str - '0']++;}}puts("数字字符的出现次数:");for (i = 0; i < 10; i++) {printf("%d: ", i);for (j = 0; j < count[i]; j++){putchar('*');}puts("");}
}

运行结果

C语言 计算一串字符中出现的数字字符数相关推荐

  1. R语言计算dataframe数据列中各分类的计数(类似pandas value_counts函数功能)

    R语言计算dataframe数据列中各分类的计数(类似pandas value_counts函数功能) 目录 R语言计算dataframe数据列中各分类的计数(类似pandas value

  2. Excel怎样从一串字符中的某个指定“字符”前后截取字符及截取字符串常用函数

    原始字符串: 品种在源系统主键(id) 截取前面的    (品种在源系统主键): =LEFT(B3,FIND("(",B3)-1) 截取后面的    (id): =LEFT(RIG ...

  3. Excel怎样从一串字符中的某个指定“字符”前后截取字符及截取字符串常用函数...

    怎么样可以从一串字符中的某个指定位置的前或后截取指定个数的字符. 如:12345.6789,我要截取小数点前(或后)的3个字符.怎么样操作, 另外,怎么样从右边截取字符,就是和left()函数相反的那 ...

  4. R语言计算资本资产定价模型(CAPM)中的Beta值和可视化

    原文链接:http://tecdat.cn/?p=22588 今天我们将计算投资组合收益的CAPM贝塔.这需要拟合一个线性模型,得到可视化,从资产收益的角度考虑我们的结果的意义. 简单的背景介绍,资本 ...

  5. C语言判断一串字符包含多少个数字大写字母和小写字母

    #include<stdio.h> int main () {char d;int a=0,b=0,c=0;printf("请输入一串字符以#结束\n");scanf( ...

  6. c语言输入一串字符统计各字母出现次数,统计输入字符各个字母出现频率的解题思路...

    本文跟大家分享的是编写一个程序,能够计算输入字符各个字母出现的频率,具体如下 先跟大家展示一下最终结果: 刚刚接手题目的时候,我想得很复杂,因为26个字母中有大小写嘛,小写a~z,大写A~Z 但是,无 ...

  7. c++设计函数,输出一串字符中单词的个数

    #include<iostream> using namespace std; int count(char *s) {int k=0;while(*s!='.'&&*s! ...

  8. c语言输入一串字符辨别奇偶,c语言设计输入一个正整数判断其中各个数字是否奇数偶数交替出现是输出yes不是输出no...

    整数中,不能被2整除的数是奇数,奇数可用2k+1表示,这里k是整数. 在下面,有奇数的性质: (1)奇数不会同时是偶数:两个连续整数中必需有一个是奇数: (2)奇数个奇数和是奇数: (3)两个奇数的差 ...

  9. 怎么用c语言输入一串字符个数字,请问这个用c怎么做:输入一串字符,分别统计其中数字和字母的个数...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include main() { int acount=0,bcount=0,ccount=0,dcount=0; char a; printf(&qu ...

最新文章

  1. OpenCV查找轮廓
  2. 【tensorboard】从tensorboard上看出模型是否存在过拟合
  3. Composer的简单安装与使用
  4. linux系统调用挂钩方法总结
  5. vue----常用实例方法--$mount(),$destroy(),$watch(),$forceUpdate()
  6. Tomcat 在 SpringBoot 中是如何启动的
  7. php的完整代码块,超级实用的9个PHP代码片段
  8. zabbix系列zabbix3.4监控mysql5.7
  9. hibernate中session 与JDBC中 connection分析
  10. js实现类似jquery基础功能 简单选择器/事件/属性
  11. Spring Boot 中实现定时任务的常用方式@Scheduled
  12. 计算机投影到数字电视的方法,PC电脑投屏电视方法有几种【乐播投屏】
  13. 新手SEO优化原创与伪原创
  14. Android开发通知栏的那些事
  15. cl 7ar xyz index php,GIF 文件格式分析 -- chinawrc的世界 -- [北方博客].mht
  16. 油溶性Cu,Mn共掺杂量子点光转换材料
  17. 几个好玩有趣的Python入门实例
  18. 【前端基础知识】最基础的render渲染函数知识,一看就会
  19. (C语言)学生管理系统
  20. 京东撸货轻松月入十万,做到这几点,你也可以!

热门文章

  1. 《JavaScript设计模式与开发实践》读书笔记之观察者模式
  2. 云计算与虚拟化以及IaaS, PaaS和SaaS
  3. Hadoop入门连接
  4. API编程基本控件使用
  5. MS932和Shift-JIS的差异
  6. 给你十年时间你可以做到吗?
  7. [转]对贡献有激情,对回报有信心
  8. JQuery获取与设置HTML元素的内容或文本的实现代码
  9. C语言位操作符的使用
  10. 腾讯面试:打家劫舍 III