计算各个数字出现的次数
目录
解决策略:在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;
}
结语:如果对你有用的话给我点个赞哦,如果有什么可以改进的地方也请多多指教哦!
计算各个数字出现的次数相关推荐
- Java黑皮书课后题第7章:**7.3(计算数字的出现次数)编写程序,读取1到100之间的整数,然后计算每个数出现的次数。假定输入0表示结束
7.3(计算数字的出现次数)编写程序,读取1到100之间的整数,然后计算每个数出现的次数 题目 题目描述+运行示例 破题 法一 法二 代码 法一:硬生生解出来 法二完整代码 题目 题目描述+运行示例 ...
- mysql dp.cal 显示汉子_计算1到N中各个数字出现的次数 --数位DP
题意:给定一个数n,问从1到n中,0~9这10个数字分别出现了多少次.比如366这个数,3出现了1次,6出现了2次. 题解:<剑指offer>P174:<编程之美>P132 都 ...
- 第七章第三题(计算数字的出现次数)(Count occurrence of numbers) - 编程练习题答案
编写程序,读取在1到100 之间的整数,然后计算每个数出现的次数.假定输入是以0 结束的. 下面是这个程序的一个运行示例: Write a program that reads the integer ...
- 数字统计之统计页码数字出现的次数
给定一个十进制整数N,求出从1到N的所有整数中出现"1"的个数. 例如:N=2,1,2出现了1个"1". N=12,1,2,3,4,5,6,7,8,9,10,1 ...
- 统计出现的次数matlab,使用MATLAB统计数列中数字出现的次数
问题描述: 使用MATLAB统计数列中数字出现的次数 例如有一串数列0100010110...要用MATLAB统计其中00.01.10.11出现的次数,怎么用正则表达式实现?详细说明的, 1个回答 分 ...
- 统计用户输入的一串数字中每个数字出现的次数
1.先判断用户输入的是否是数字,用if-else语句来判断: 2.将用户输入的数字字符串转换成char数组: 3.用for循环遍历每个字符,根据switch-case语句来逐一判断. 4.再建立一个i ...
- 科学计算用数字电子计算机,关于科学计算用数字电子计算机字长问题-计算机工程与科学.PDF...
关于科学计算用数字电子计算机字长问题-计算机工程与科学 维普资讯 CN43-1258/TP 计算机工程与科学 2005年第27卷第 1O期 ISSN 1007-130X COMPUTERENGINEE ...
- 剑指Offer 56 数组中数字出现的次数
数组中数字出现的次数 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 1 # -*- coding:utf-8 -*- 2 class Solution: ...
- java求一个数的阶乘_Java如何使用方法计算一个数字的阶乘值?
在Java中,如何使用方法来计算一个数字的阶乘值? 这个例子显示了使用9(9)数字的因子计算方法. package com.yiibai; public class CalculatingFactor ...
最新文章
- Servlet之Filter过滤器
- PHP_define和const的区别/获取所有常量get_defined_constant()
- linux-虚拟机安装
- 最暖数据: 除夕有6.88亿人用微信红包传递狗年祝福
- 浅谈ztree节点的增加和获取
- 小度回应天猫精灵:不要因为我们拿了第一就黑我们
- oracle数据导入/导出
- LNMP环境下搭建wordpress
- 土豪也不会告诉你的IBM X3850 X5
- 三菱PLC水处理程序加触摸屏程序 三菱PLC水处理程序加触摸屏程序
- python数字转中文字符_python数字金额转换为中文大写金额
- min-width、max-width属性中min-content、max-content的含义,css中minmax()用法、1fr单位的含义----使页面具有相应性的属性以及属性值
- java steam 使用指南-------groupingBy进阶用法
- 飞机经济舱哪个位置好
- 控制iframe的小技巧
- windows无法完成安装,若要在此计算机上安装windows,请重新启动安装
- java se 6是什么意思_Java SE 6中与JRE 1.6与JDK 1.6 - 什么做这些是什么意思?
- 计算摄影——风格迁移
- 管理员宝典:迷死人不偿命的开源工具
- 平面中点与圆的位置关系