练习1-14 编写一个程序,打印输入中各个字符出现频度的直方图(水平)
2023-09-14 09:06:57 时间
C语言程序设计(第二版) 练习1-14 个人设计
编写一个程序,打印输入中各个字符出现频度的直方图(水平)
代码块
#include <stdio.h>
#include <stdlib.h>
int main()
{
int c, nletter, nwhite, nother, i; /*定义字符,字母个数,空白个数,其他字符个数*/
nletter=nwhite=nother=0; /*变量初始为0*/
while ((c=getchar())!=EOF){ /*当输入字符不是文件结束符时*/
if ((c>='A'&&c<='Z')||(c>='a'&&c<='z')) /*如果输入字符为字母*/
++nletter; /*字母统计个数增加1个*/
else if (c==' '||c=='\t'||c=='\n') /*如果输入字符为空格或制表符或换行符*/
++nwhite; /*空白统计个数增加1个*/
else
++nother; /*其他字符增加1个*/
}
printf(" nletter %3d ", nletter); /*此五行为输出字母直方图*/
for (i=1; i<=nletter; ++i)
printf("*");
printf("\n");
printf(" nwhite %3d ", nwhite); /*此五行为输出空白直方图*/
for (i=1; i<=nwhite; ++i)
printf("*");
printf("\n");
printf(" nother %3d ", nother); /*此五行为输出其他字符直方图*/
for (i=1; i<=nother; ++i)
printf("*");
printf("\n");
system("pause");
return 0;
}
如果程序设计有错误或更简洁的方法,欢迎并感谢您指正出示,谢谢!
相关文章
- 【BBED】使用bbed修改字符类型数据
- java: InputStreamReader将字节的输入流变成字符的输入流,OutputStreamWriter将字符的输出流变成字节的输出流
- Java实现 LeetCode 424 替换后的最长重复字符
- 计算输入字符串里各个字符所占比例
- C#删除字符串最后一个字符的几种方法
- 在多字节的目标代码页中,没有此 Unicode 字符可以映射到的字符。 (#1113)
- System.Xml.XmlException: 给定编码中的字符无效。 第 XX 行,位置 YY。
- Atiitt io的stream流的分类 目录 1. 流的优缺点 高性能但复杂1 1.1. 字节数组更加简单,但性能差点1 2. Io体系1 2.1. 字符流 vs 字节流2 2.2.
- textarea限制输入字符demo效果示例(整理)
- iOS swift UITextField 限制输入指定的字符 限制输入字符的长度
- 字符设备驱动开发 Linux 设备号 字符设备驱动开发步骤 open 函数调用流程 设备号的组成 设备号的分配 Linux 应用程序对驱动程序的调用 字符设备注册与注销 实现设备的具体操作函数
- 习题 3.16 输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
- 习题 6.8 输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符各有多少?
- 习题 7.9 编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格、和其他字符的个数,在主函数中输入字符串以及输出上述的结果。
- 习题 6.12 有一行电文,已按下面规律译成密码:A-Z a-z即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。要求编程序将密码译回原文,并输出密码和原文。
- Java //PP1.9 编写一个程序,显示如下的菱形形状,不能有任何多余的字符出现。
- pandas 按某列中的指定字符拆分某列 pandas.DataFrame.field.str.split()
- Win10 连接无线不能输入密码字符,一输入就卡死
- python里使用正则表达式排除集合里字符的功能
- 函数读入字符
- 【C】 删除字符串中字符