编写程序,输入一行字符(长度不确定),先把输入的字符串写到文本文件string.txt,然后从该文件中读出来,最后再统计字符串中的大写字母、小写字母和数字的个数。
可以循环读取字符,然后写入文件,直到输入EOF结束;然后再打开文件,循环读取字符,然后同时统计大写字母,小写字母,数字的个数,读取完文件,最后在打印结果即可。
代码如下:
参考链接:
#include <iostream>
#include <fstream>
using namespace std;
int main(void){
// https://blog.csdn.net/weixin_43918046/article/details/106367507
fstream f;
f.open("string.txt",ios::out); // 打开文件
char ch;
// https://blog.csdn.net/weixin_43918046/article/details/106367507
while(cin>>ch){ // 循环读取字符直到输入EOF
f<<ch; // 将读取的字符写入文件
}
f.close(); // 关闭文件
int capitalNums=0; //大写字母的个数
int lowercaseNums=0; // 小写字母的个数
int numbers=0; // 数字的个数
f.open("string.txt",ios::in); // 打开文件
while(f>>ch){ // 循环从文件读取字符,直到文件结尾
// 统计大写字母的个数
if(ch>='a'&&ch<='z'){
capitalNums++;
}
// 统计小写字母的个数
if(ch>='A'&&ch<='Z'){
lowercaseNums++;
}
// 统计数字的个数
if(ch>='0'&&ch<='9'){
numbers++;
}
}
// 打印结果
cout<<"大写字母的个数:"<<capitalNums<<endl;
cout<<"小写字母的个数:"<<lowercaseNums<<endl;
cout<<"数字的个数:"<<numbers<<endl;
return 0;
}