jojinvn @ 2024-12-12 11:50:22
#include<stdio.h>
#include<string.h>
int main(){
char a[1101];
gets(a);
int len=strlen(a);
int cnt=0;
int flag=0;
for(int i=0;i<len;i++){
for(int j=0;j<len;j++){
if(a[i]==a[j]){
cnt++;
}
}
if(cnt==1){
printf("%c",a[i]);
flag=1;
break;
}
}
if(flag==0){
printf("no");
}
return 0;
}
by KarmaticEnding @ 2024-12-12 12:16:33
@jojinvn
试试这组样例
iiiiiirs
你会发现你的输出是 no
。这是因为你的变量
by KarmaticEnding @ 2024-12-12 12:17:08
你可以这样:
#include<stdio.h>
#include<string.h>
int main(){
char a[1101];
gets(a);
int len=strlen(a);
int cnt=0;
int flag=0;
for(int i=0;i<len;i++){
cnt=0;
for(int j=0;j<len;j++){
if(a[i]==a[j]){
cnt++;
}
}
if(cnt==1){
printf("%c",a[i]);
flag=1;
break;
}
}
if(flag==0){
printf("no");
}
return 0;
}
by ETO_NOI @ 2024-12-12 12:17:46
cnt每次都要初始化为0
by jojinvn @ 2024-12-12 12:32:58
@KarmaticEnding谢谢哥!
by jojinvn @ 2024-12-12 12:33:27
@ETO_NOI对哦,谢谢啦!