前言
该题摘自Kernighan的《C程序设计语言》第17页练习1-14。
编写一个程序,打印输入中各个字符出现频度的直方图。
对应的参考书中提供了一种解法,但是没有想象之中的美妙。于是乎,自己动手写代码。
源代码
我的代码,自我感觉良好。
# include <stdio.h>
int main(void){
int a[26];
int c;
int i;
int j;
for(i = 0; i <26; i++){
a[i] = 0;
}
while((c =getchar()) != EOF){
for(i = 'a'; i <= 'z'; i++){
if(c == i){
a[i - 97]++;
}
}
}
for(i = 0; i < 26; i++){
if(a[i] != 0){
printf("%c ", i + 97);
for(j = 0; j < a[i]; j++){
putchar('*');
}
putchar('\n');
}
}
return 0;
}
后记
五一“长”假马上正式开始了,大家节日快乐。博客总该要写点什么吧,就搬出这个小程序来了。
分享到:
相关推荐
在本文中,我们将深入探讨如何使用C语言实现SMS消息的编码和解码,特别是7-bit编码和解码,以及UCS2编码。首先,我们关注7-bit编码和解码算法。 7-bit编码是一种用于SMS(Short Message Service)的编码方式,它...
7. 字符串处理:C语言中的KMP、Boyer-Moore、Rabin-Karp等字符串匹配算法,对于文本处理和数据分析至关重要。 8. 数据结构:链表、队列、栈、堆、树、图等,它们是算法的基石。理解这些数据结构的C语言实现,有助于...
在本项目"C语言开发----c语言自创推箱子游戏改版"中,我们可以探索到许多C语言编程的核心概念和技术,以及如何将这些技术应用于游戏开发。推箱子游戏是一款经典的逻辑益智游戏,它要求玩家通过控制一个角色推动箱子...
HJ212-2017协议的C语言实现,是一项技术性较强的工作,涉及到数据结构设计、字符编码、网络通信等多个方面。通过深入理解协议规范并熟练运用C语言,开发者能够构建出稳定、高效的环保数据传输系统,为我国的环保信息...
【标题】"广工05-1-C语言试卷A"是一份广东工业大学的C语言考试试卷,主要测试学生对C语言的基础知识和编程能力。 【描述】"广东工业大学 05-1- C语言试卷A卷"表明这是一次针对C语言的考试,可能包含各种题型,如...
"C语言开发----c语言扔香蕉的大猩猩"这个标题可能是以一种幽默的方式来描绘C语言初学者在学习过程中的挑战,就像大猩猩扔香蕉一样,需要准确地掌握技巧和力度。下面将详细介绍C语言的关键知识点。 1. **基本语法**...
- 字符数组与字符串:学习C语言中的字符串表示,掌握字符串常量、字符数组和字符串处理函数,如strcpy、strcat、strcmp等。 4. **指针** - 指针基础:理解指针的声明、初始化和解引用,以及指针作为变量、函数...
3. **数组与字符串**:数组是C语言中存储一组相同类型元素的重要方式,字符串本质上是字符数组,需要掌握字符串的处理函数,如strlen、strcpy、strcat、strcmp等。 4. **指针**:C语言的精髓之一,理解指针的概念,...
在C语言中,查找字符串中最小字符串的问题是一个基础但有趣的编程练习。这个问题通常涉及比较字符串长度,找到字符串数组中长度最短的那一个。这里,我们将会深入探讨如何使用C语言来解决这个问题,并通过实际代码...
在C语言中,这些记号包括关键字(如`if`、`for`、`while`)、标识符(自定义变量名)、常量(数值或字符串)、运算符和分隔符等。词法分析器通过正则表达式或其他方法识别这些元素,并为后续阶段提供标准化的输入。 ...
《商业编程-源码-C语言习题解析》这个压缩包文件是针对C语言学习者的一份宝贵资源,其中包含了丰富的编程习题和可能的解答。C语言作为一种基础且强大的编程语言,是许多软件开发者的必修课。它以其高效、灵活和广泛...
这个游戏是C语言学习者练习编程技能的一个良好实践,它可以帮助开发者熟悉控制台输入输出、字符串操作、条件判断和循环等基本概念。 首先,我们要了解C语言的基本结构。C程序通常由预处理指令、函数定义和主函数...
在控制台上,可以利用`printf()`或`puts()`函数来打印字符,形成视觉上的动态效果。 4. **游戏逻辑**:火柴人的移动、碰撞检测、得分计算等都需要一定的逻辑处理。这可以通过条件语句(`if`,`else`)和循环来实现...
4. **字符串处理**:在处理教职工姓名和其他文本信息时,会用到C语言的字符串函数,如strcpy、strcat、strcmp等,用于复制、连接和比较字符串。 5. **错误处理**:在实际编程中,需要编写错误处理代码以应对可能...
C语言没有内置的字符串类型,而是通过字符数组来表示。可以使用标准库中的函数,如strcpy()、strcat()、strcmp()等来操作字符串。在情人节程序中,你可以使用这些函数处理用户的表白语句,甚至可以添加一个简单的...
在这个商品销售系统中,开发者可能利用了C语言的特性来实现数据处理、用户交互以及文件操作等功能。下面将详细探讨这个系统可能包含的知识点。 1. 数据结构与数组:商品销售系统通常涉及到商品库存管理,这可能需要...
C和C语言的幼儿园教育软件设计源码,包含1864个文件,其中包括532个头文件(.h)、498个Objective-C实现文件(.m)、493个PNG图片文件、230个JSON配置文件、52个NIB界面文件、18个PLIST配置文件、9个XIB界面文件、9...
标题中的"C_c018---C语言编程实例.rar_DOS_DOS 界面_c语言 界面"指示了这是一个关于使用C语言在DOS环境下创建界面的编程实践案例集。这个压缩包可能包含了一些示例代码、教程或者相关文档,旨在帮助学习者理解如何在...
【哈工大计算机考研复试-机试-C语言】是一个针对准备哈尔滨工业大学计算机专业研究生复试机试环节的学习资源。这个压缩包包含了一系列C语言编程题目,旨在帮助考生提升C语言编程能力,熟悉考研复试中可能出现的编程...
GB2312编码与utf-8编码的字符串的转换,主要使用windows api函数MultiByteToWideChar和WideCharToMultiByte,代码简洁,经测试可用