首页 > 试题广场 >

#include using names...

[填空题]
#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
程序先读入一个字符串 s,后用一个桶 t 统计每种字符的出现次数,if (t[s[i]] == 1) 表示 s[i] 只出现了一次,输出这个字符,并 return 0(结束程序)。综上分析输出的是给定字符串 s 中第一个出现且仅出现一次的字符,当 s="xyzxyw" 时输出的便是字符 'z'(不含引号)。
发表于 2021-11-05 11:19:02 回复(0)
就是看谁是只有一个的。
编辑于 2022-08-24 10:27:17 回复(0)
错的原因是瞎子传奇......
发表于 2021-08-30 13:07:29 回复(1)
z
最后的if循环中有个return0.。。。。。。。所以只输出第一个

发表于 2020-10-10 17:28:12 回复(0)