正经题解 | 利用cin性质 | 胎教级
2026-08-04 18:27:44
发布于:湖北
2阅读
0回复
0点赞
思路
这里要读入一整行,想到的就是一个一个字符地读入,这样就可以优雅又不用getline地获取所有字符,然后统计所有非空白字符就是答案
int cnt;
char ch;
第二,还要忽略空白字符。这里要用到一个有点小众的知识点:cin读入字符依旧忽略空白,scanf读入字符包含空白。因此这里要用cin读入
while (cin >> ch) {
cnt++;
}
这样的写法可以在读入字符同时检测是否到达文件尾部
这样一来一读入一个非空白字符,cnt就会加1。cnt的大小就是非空白字符的统计次数,也就是答案
输出
cout << cnt << endl;
好习惯结尾
return 0;
大功告成
完整代码
#include <iostream>
using namespace std;
int cnt;
char ch;
int main() {
while (cin >> ch) {
cnt++;
}
cout << cnt << endl;
return 0;
}
实际行数(去掉空行)11行,非常简洁
这里空空如也





有帮助,赞一个