练习 1-13 编写一个程序,打印输入中单词长度的直方图(水平)(方法2)
2023-09-14 09:06:57 时间
C语言程序设计(第二版) 练习1-13 个人设计
练习1-13 编写一个程序,打印输入中单词长度的直方图(水平)(方法2)
代码块:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int nc, ns, nw, i, j; /*定义字符长度,单词终结判断条件,单词个数,循环变量*/
int p[50]; /*定义单词长度数组*/
char c; /*定义输入字符*/
ns=1; /*单词判断条件初始值为1*/
nc=0; /*字符长度初始值为0*/
nw=0; /*单词长度初始值为0*/
i=1; /*单词编号循环变量初始值为1*/
while ((c=getchar())!=EOF){ /*当输入字符不是文件结束符时*/
if ((c>='A'&&c<='Z')||(c>='a'&&c<='z')){ /*如果输入字符为字母*/
++nc; /*字符个数增加1个*/
ns=0; /*单词判断条件调整为0*/
}
else if (ns==0){ /*如果输入字符不是字母,并且单词判断条件值为0*/
++nw; /*单词个数增加1个*/
p[i]=nc; /*把字符长度赋值给单词数组*/
++i; /*单词数组编号增加1个*/
ns=1; /*单词判断条件值恢复初始值*/
nc=0; /*字符个数统计值恢复初始值*/
}
}
for(i=1; i<=nw; ++i){ /*此循环程序内表示打印所有统计的单词直方图*/
printf("%2d ", p[i]);
for(j=1; j<=p[i]; ++j)
printf("*");
printf("\n");
}
system("pause");
return 0;
}
#####如果程序设计有错误或更简洁的方法,欢迎并感谢您指正出示,谢谢!
相关文章
- java的四种输入方法,你会几种?
- java scanner输入数组_java基础- scanner/方法/数组
- java控制台输入数组_Java控制台输入数组并逆序输出的方法实例
- Java多线程wait()和notify()方法图解
- 给女朋友讲设计模式 之 模板方法模式
- 手机端 调用输入法 上的搜索键 进行搜索的使用方法详解编程语言
- 中的空格Linux中快速删除文本空格的方法(linux删除文本)
- 解决Oracle表字段名修改方法(oracle修改字段名)
- 掌握MySQL命令行输入中文的方法(mysql命令行输入中文)
- MySQL无法输入中文的解决方法(mysql不能输入中文)
- Linux 下输入汉字的多种方法(linux输入汉字)
- MySQL 实现汉字拼音排序的方法(mysql汉字拼音排序)
- Linux中exec函数的使用方法介绍(linux下exec)
- Linux下改变目录权限的方法(linux 更改目录权限)
- Oracle中正确输入时间的方法(oracle中输入时间)
- 外加多输入一个空格,导致查询失败的解决方法(mysql不小心回车 额)
- mysql输入下划线的方法详解(mysql下划线怎么输入)
- MySQL故障无法查看数据的解决方法(mysql不能看数据)
- MySQL文本输入遇到回车换行问题这里有简单的解决方法(mysql不能回车换行)
- javascript数组使用调用方法汇总
- 添加JavaScript重载函数的辅助方法2
- firefox下jQueryUIAutocomplete1.8.*中文输入修正方法
- javascript验证身份证完全方法具体实现
- Java输入流Scanner/BufferedReader使用方法示例
- MongoDB日志文件过大的解决方法
- C#中winform控制textbox输入只能为数字的方法
- Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法