阅读程序 · 答案 z · 考点:输入输出、位运算、分支结构、循环结构、字符串(string)
← 整套速查表 NOIP 普及组初赛 全部真题阅读程序写结果:
#include<iostream>
using namespace std;
int main()
{
int t[256];
string s;
int i;
cin >> s;
for (i = 0; i < 256; i++)
t[i] = 0;
for (i = 0; i < s.length(); i++)
t[s[i]]++;
for (i = 0; i < s.length(); i++)
if (t[s[i]] == 1)
{
cout << s[i] << endl;
return 0;
}
cout << "no" << endl;
return 0;
}输入:xyzxyw 输出:_________
看到统计频次 + 顺序遍历找第一个 → 先扫一遍计数,再从头找计数为1的字符,遇到即输出并结束。
易错点:忽略return 0的截断作用,误以为要输出所有唯一字符或最后输出'no'。
考点:数组统计频次|循环控制流(return提前退出)
程序先统计字符串中每个字符的出现次数,然后从头到尾遍历,输出第一个出现次数为1的字符。