为什么会出现runtime error?如何修改?在Dev C++上能编译运行,到NOI上就不行了。

NOI / 1.7编程基础之字符串:找第一个只出现一次的字符
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-深度学习进阶 2021-10-13 21:25关注
你一层for循环就可以,用一个数组专门存每个字符出现次数,不用双层循环
#include "iostream" #include "iomanip" using namespace std; int main() { string str; getline(cin,str); bool flag=false; int num[26]={0}; for(int i=0;i<str.length();i++) { //a-0x61 97(10进制) num[str.at(i)-97]++; } for(int i=0;i<str.length();i++) { if(num[str.at(i)-97]==1) { cout<<str.at(i); flag=true; break; } } if(!flag) cout<<"no"<<endl; return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报