liuyuxiaozaizai @ 2024-08-21 10:51:15
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char n[1110],v[1110];
int main(){
cin.getline(n,1105);
for (int i=0;i<strlen(n);i++){
int kg=0;
for (int j=0;j<strlen(v);j++){
if (n[i]==v[j]){
kg=1;
v[j]='Z';
}
}
if (kg==0){
v[strlen(v)]=n[i];
}
}
for (int i=0;i<strlen(v);i++){
if (v[i]!='Z'){
cout<<v[i];
return 0;
}
}
cout<<"no";
return 0;
}
by zhizhenmayixun @ 2024-08-21 11:04:51
@liuyuxiaozaizai
#include<bits/stdc++.h>
using namespace std;
string s;
char p;
int k;
int main(){
cin>>s;
for(int i=0;i<s.size();i++){
k=0;
p=s[i];
for(int j=0;j<s.size();j++){
if(s[j]==p){
k++;
}
}
if(k==1){
cout<<p;
return 0;
}
}
cout<<"no";
return 0;
}
by WangTianJiao @ 2024-08-21 11:09:53
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char n[1110], v[1110];
int main() {
cin.getline(n, 1105);
for (int i = 0; i < strlen(n); i++) {
int kg = 0;
for (int j = 0; j < strlen(v); j++) {
if (n[i] == v[j]) {
kg = 1;
v[j] = 'Z';
}
}
if (kg == 0) {
v[strlen(v)] = n[i];
}
///////////////////日志部分
for (int j = 0; j < strlen(v);++j) {
printf("%c ", v[j]);
}
cout << endl;
///////////////////////
}
for (int i = 0; i < strlen(v); i++) {
if (v[i] != 'Z') {
cout << v[i];
return 0;
}
}
cout << "no";
return 0;
}
@liuyuxiaozaizai
这个算法写的有点抽象
你的意思可能是把之前没出现过的字符挨个装入v数组里面,出现过的就不装,还要把之前那个删掉以免影响最后输出结果。但是如果一个字符出现
建议你不要修补这个算法,改用简单的用桶统计数目,最后扫描一遍数目,第一个为