【发布时间】:2021-04-10 11:15:54
【问题描述】:
这是我在 C++ 中打印重复字符的代码。
#include <iostream>
#include<string.h>
using namespace std;
int main()
{
char string[80];
cin.getline(string,80);
for(int i=0;i<strlen(string);i++){
for(int j=i+1;j<strlen(string);j++){
if(string[i]==string[j]){
if(string[i] != ' ')
cout<<string[i]<< " ";
break;
}
}
}
return 0;
}
如果输入为ravuri,则输出为r
如果输入为malayalam,则输出为:
malayalam
m
a
l
a
a
代码应该打印m a l 。为什么要多次打印同一个字符而不是一次?
【问题讨论】:
-
因为第二/第三
'a'也有重复... -
使用调试器并单步执行,也欢迎来到拥有
std::string的c++新时代 -
@Jarod42 我应该怎么做才能只打印 1 个
a、1 个m和 1 个l? -
你必须按那个顺序打印吗?
-
@DebarthaPaul
string不是关键字,而是来自std的一个非常常用的类,因此会让人感到困惑(尤其是在using namespace std时,也应该避免这种情况)。跨度>
标签: c++ string duplicates