目录

解决策略:在C语言中,数字字符只有0,1,2,3,4,5,6,7,8,9。所以我们想要统计数字字符的个数的话可以用一个switch-case语句来解决统计的问题。说以代码如下:

2.代码优化:


解决策略:在C语言中,数字字符只有0,1,2,3,4,5,6,7,8,9。所以我们想要统计数字字符的个数的话可以用一个switch-case语句来解决统计的问题。说以代码如下:

#include<stdio.h>
int main() {int i, ch;int count[10] = {0};while ((ch = getchar()) != EOF) {switch (ch) {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;}}printf("数字字符出现的次数\n");for (i = 0;i < 10;i++) {printf("'%d:%d\n", i, count[i]);}}

!!!注意:

1.在输入结束时要记得输入ctrl+z来结束输入,否则这一段代码会因为while循环未结束而不会统计字符个数。

2.在定义count数组时要将count数组的各个元素初始化为零。

2.代码优化:

因为C语言中的各个字符都是由对应的ASSIC码来一一对应的,也就是用一个特定的数字来对应一个字符,而在数字字符的定义中,每个字符与字符'0'的距离是和数学中的数字与零的距离是一样的。所以,我们可以运用这一特点来简化第一个代码,将switch-case语句变成if判断语句。

#include<stdio.h>
int main() {int i, ch;int count[10] = {0};while ((ch = getchar()) != EOF) {if (ch >= '0' && ch <= '9') {count[ch - '0']++;}}printf("数字字符的个数:\n");for (i = 0;i < 10;i++) {printf("'%d':%d\n", i, count[i]);}return 0;
}

结语:如果对你有用的话给我点个赞哦,如果有什么可以改进的地方也请多多指教哦!

计算各个数字出现的次数相关推荐

  1. Java黑皮书课后题第7章:**7.3(计算数字的出现次数)编写程序,读取1到100之间的整数,然后计算每个数出现的次数。假定输入0表示结束

    7.3(计算数字的出现次数)编写程序,读取1到100之间的整数,然后计算每个数出现的次数 题目 题目描述+运行示例 破题 法一 法二 代码 法一:硬生生解出来 法二完整代码 题目 题目描述+运行示例 ...

  2. mysql dp.cal 显示汉子_计算1到N中各个数字出现的次数 --数位DP

    题意:给定一个数n,问从1到n中,0~9这10个数字分别出现了多少次.比如366这个数,3出现了1次,6出现了2次. 题解:<剑指offer>P174:<编程之美>P132 都 ...

  3. 第七章第三题(计算数字的出现次数)(Count occurrence of numbers) - 编程练习题答案

    编写程序,读取在1到100 之间的整数,然后计算每个数出现的次数.假定输入是以0 结束的. 下面是这个程序的一个运行示例: Write a program that reads the integer ...

  4. 数字统计之统计页码数字出现的次数

    给定一个十进制整数N,求出从1到N的所有整数中出现"1"的个数. 例如:N=2,1,2出现了1个"1". N=12,1,2,3,4,5,6,7,8,9,10,1 ...

  5. 统计出现的次数matlab,使用MATLAB统计数列中数字出现的次数

    问题描述: 使用MATLAB统计数列中数字出现的次数 例如有一串数列0100010110...要用MATLAB统计其中00.01.10.11出现的次数,怎么用正则表达式实现?详细说明的, 1个回答 分 ...

  6. 统计用户输入的一串数字中每个数字出现的次数

    1.先判断用户输入的是否是数字,用if-else语句来判断: 2.将用户输入的数字字符串转换成char数组: 3.用for循环遍历每个字符,根据switch-case语句来逐一判断. 4.再建立一个i ...

  7. 科学计算用数字电子计算机,关于科学计算用数字电子计算机字长问题-计算机工程与科学.PDF...

    关于科学计算用数字电子计算机字长问题-计算机工程与科学 维普资讯 CN43-1258/TP 计算机工程与科学 2005年第27卷第 1O期 ISSN 1007-130X COMPUTERENGINEE ...

  8. 剑指Offer 56 数组中数字出现的次数

    数组中数字出现的次数 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 1 # -*- coding:utf-8 -*- 2 class Solution: ...

  9. java求一个数的阶乘_Java如何使用方法计算一个数字的阶乘值?

    在Java中,如何使用方法来计算一个数字的阶乘值? 这个例子显示了使用9(9)数字的因子计算方法. package com.yiibai; public class CalculatingFactor ...

最新文章

  1. Servlet之Filter过滤器
  2. PHP_define和const的区别/获取所有常量get_defined_constant()
  3. linux-虚拟机安装
  4. 最暖数据: 除夕有6.88亿人用微信红包传递狗年祝福
  5. 浅谈ztree节点的增加和获取
  6. 小度回应天猫精灵:不要因为我们拿了第一就黑我们
  7. oracle数据导入/导出
  8. LNMP环境下搭建wordpress
  9. 土豪也不会告诉你的IBM X3850 X5
  10. 三菱PLC水处理程序加触摸屏程序 三菱PLC水处理程序加触摸屏程序
  11. python数字转中文字符_python数字金额转换为中文大写金额
  12. min-width、max-width属性中min-content、max-content的含义,css中minmax()用法、1fr单位的含义----使页面具有相应性的属性以及属性值
  13. java steam 使用指南-------groupingBy进阶用法
  14. 飞机经济舱哪个位置好
  15. 控制iframe的小技巧
  16. windows无法完成安装,若要在此计算机上安装windows,请重新启动安装
  17. java se 6是什么意思_Java SE 6中与JRE 1.6与JDK 1.6 - 什么做这些是什么意思?
  18. 计算摄影——风格迁移
  19. 管理员宝典:迷死人不偿命的开源工具
  20. 平面中点与圆的位置关系

热门文章

  1. Docker容器化技术入门
  2. 华南理工_软件学院_预推免
  3. 2021-11-11调味品行业
  4. SLAM系列——第三讲 三维空间刚体运动[2023.1]
  5. quartz记录job状态
  6. java命令大全_Java自带命令详解
  7. 基于物联网的多参数水质监测系统设计
  8. 关于java字符串+加号的理解
  9. Spring Webflux简介
  10. MAC搭建kafka客户端以及实现生产消费