第十四周 项目一--小玩文件(3)
2015-06-10 19:07
363 查看
问题及代码:
运行结果:
知识点总结:应该注意的是每个字母的个数。还有small[a[i]-'a']++;字符个数的技术方法a[i]-'a'直接转换成整型。
学习心得:还挺麻烦。
/* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作者:吴胜男 *完成日期:2015年06月10日 *版本号:v1.0 * *问题描述:(3)用键盘输入文件名,统计输出文件中每个字母、数字字符出现的次数; *输入描述:略 *程序输出:略 */ #include <iostream> #include <cstdlib> #include <stdio.h> #include <fstream> using namespace std; int main() { fstream infile; int i,j=1; char a[50]; int small[26]= {0},big[26]= {0},num[10]= {0}; infile.open("abc.txt",ios::in); if(!infile) { cout<<"Can’t open the file."<<endl; abort(); } while(!infile.eof()) { infile.getline(a,50,'\n'); for(i=0; a[i]!='\0'; i++) { if(a[i]>='a'&&a[i]<='z') small[a[i]-'a']++; else if(a[i]<='Z'&&a[i]>='A') big[a[i]-'A']++; else if(a[i]>='0'&&a[i]<='9') num[a[i]-'0']++; } for(i=0; i<26; i++) { if(small[i]!=0) { cout<<char(i+'a')<<":"<<small[i]<<" "; if(j%10==0) cout<<"\n"; j++; } if(big[i]!=0) { cout<<char(i+'A')<<":"<<big[i]<<" "; if(j%10==0) cout<<"\n"; j++; } } j=1; for(i=0; i<10; i++) if(num[i]!=0) { cout<<i<<":"<<num[i]<<" "; if(j%10==0) cout<<"\n"; j++; } } infile.close(); return 0; }
运行结果:
知识点总结:应该注意的是每个字母的个数。还有small[a[i]-'a']++;字符个数的技术方法a[i]-'a'直接转换成整型。
学习心得:还挺麻烦。
相关文章推荐
- WSAIoctl 函数详解
- 权重随机算法Java实现
- C#语言开发的WinForm简易计算器
- Linux iptables:规则原理和基础
- URAL1005 Stone Pile
- JS实现简单的图片轮换效果
- 非多态简单格斗游戏
- kafka文档(转)
- WinSock2编程之打造完整的SOCKET池
- 兔斯基 经典语录
- 如何抓取扬声器的声音
- css中的clear和float
- Hibernate学习笔记之体系结构的理解
- java+mysql实现网络爬虫
- [.net 面向对象编程基础] (18) 泛型
- M - Exponentiation
- 多线程
- Python 的stat 模块
- 用Python写了一个postgresql函数,感觉很爽
- IOCP浅析