统计字符
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 8548 Accepted Submission(s): 5406
c0 n0
c1 n1
c2 n2
...
其中ci是第1行中第i个字符,ni是ci出现的次数。
I THIS IS A TEST i ng this is a long test string #
I 2 i 3 5 n 2 g 2 注:第2个测试用例中,空格也是被统计的字符之一。
注意:这道题有点参考别人的代码。。毕竟我的代码只是定义的位置放在了循环里面结果却ac不了~~so,论好习惯的重要性2333~~
另外,这里面的stra是字符串,所以要用strcmp函数,不能光拿首字符stra[0]来比较否则是错误的。还有,memset初始化数组交不上去,还是用传统的int比较好。
#include<stdio.h>
#include<string.h>
int main(){
char stra[6];
int a[6];
char strb[81];
int i,j;
while(gets(stra)&&strcmp(stra,"#")!=0){
gets(strb);
int a[6]={0};
for(i=0;i<strlen(stra);i++){
for(j=0;j<strlen(strb);j++){
if(stra[i]==strb[j]) a[i]++;
}
printf("%c %d\n",stra[i],a[i]); //统计完就输出有助于代码的简洁~~
}
}
return 0;
}