#include<stdio.h> #include<string.h> int main() { char a[100000]; gets(a); int i,j; char out='\0'; int l = strlen(a); for(i=0;i<l;i++){ int sum = 0; for(j=0;j<l;j++){ if(a[i]==a[j]){ sum += 1; } } if(sum ==1){ out = a[i]; printf("%c",out); break; } } if(out=='\0'){ //如果out值被改变表示找到,否则打印no printf("no"); } return 0; }
思路是好的,如果要是输入的是:aabbcc,这时应该输出no。所以这个代码不完整。我改进了一下: #include<stdio.h> #include<string.h> int main() { char str[100000],out; int i,j,sum; scanf("%s",&str); int len=strlen(str); for(i=0;i<len;i++) { sum=0; for(j=0;j<len;j++) { if(str[i]==str[j]) sum++; } if(sum==1) { out=str[i]; printf("%c",out); return; } } printf("no"); return 0; } 在devc++上运行没问题,但是在这个平台上是错误的,不知道为啥,有知道的还请留言。
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:636 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:451 |
【排队买票】 (C语言代码)浏览:899 |
简单的a+b (C语言代码)浏览:525 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:460 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:560 |
【亲和数】 (C语言代码)浏览:598 |
1051(奇了怪了)浏览:649 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:535 |
剪刀石头布 (C语言代码)浏览:1434 |