识别唯一是否有字符的题目:
改前:思路是正确的,但是输出就是错误,疑似代码不规范。
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char arry[99];
cin>>arry;
int length = sizeof(arry) / sizeof(arry[0]);
for (int i = 0; i < length; i++) {
for (int j =i+1; j < length; j++) {
if (arry[i] == arry[j]) {
cout << "NO";
return 0;
}
}
}
cout << "YES";
return 0;
}
解决方案:
1.char改为string类型。
2.求数组长度直接用XX.length(),替代。
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
string arry;
cin>>arry;
for (int i = 0; i < arry.length(); i++) {
for (int j =i+1; j < arry.length(); j++) {
if (arry[i] == arry[j]) {
cout << "NO";
return 0;
}
}
}
cout << "YES";
return 0;
}