【发布时间】:2021-12-15 10:38:35
【问题描述】:
给出五位数字。判断数字是否至少包含两个相同的数字
这是我的代码,用 C++ 编写:
#include <iostream>
using namespace std;
int main()
{
int n,a,b,c,d,f;
cin >> n;
a=n/10000;
b=n/1000%10;
c=n/100%10;
d=n/10%10;
f =n%10;
if(a==b && c==d && b!=c ||
a==c && b==d && c!=b ||
a==d && b==c && d!=b ||
a==f && f==b && f!=d )
cout << "YES";
else
cout << "NO";
return 0;
}
这行不通…… 有人可以帮忙吗?
【问题讨论】:
-
我投票结束这个问题,因为没有提出任何问题。
-
你的问题是什么?
-
@Emily,请描述您面临的问题以及您的问题。
-
您是否考虑过另一种方法,例如将数字读取为
std::string,然后用数字作为键和出现次数作为值填充std::map? (或者老派,只需使用 10 个char的数组作为 频率数组 并将数字映射到每个索引) -
您可以在此处How to remove duplicate char in string in C 找到有关使用频率阵列的更多信息