C语言代码错误分析:字符出现次数统计
#include<stdio.h> #define N 81 int main() { char ch[N]; int i=0,j,ct=0,count=0,a=0; while((ch[i]=getchar()) != ' '){ count++; i++; } for(i=0; i<count; i++){ if(ch[i]>='a' && ch[i]<='z'){ ct=0; a=a+1; for(j=i+1; j<count; j++){ if(ch[i]==ch[j]) ct++; } printf('%c:%d ', ch[i], ct); } } if(a==0) printf("None");
return 0;
}
代码中有以下错误:
- 第7行的括号位置不正确,应该将'!= '\n''放在括号内。
- 第11行的'i++'应该写在括号的外面。
- 第16行的'for'循环应该从'i+1'开始,避免重复计算。
- 第18行的'printf'语句应该写在'if'语句的外面。
- 第22行的'printf'语句应该写在'if'语句的外面。
以下是修改后的代码:
#include<stdio.h>
#define N 81
int main()
{
char ch[N];
int i=0, j, ct=0, count=0, a=0;
while((ch[i]=getchar()) != '
'){
count++;
i++;
}
for(i=0; i<count; i++){
if(ch[i]>='a' && ch[i]<='z'){
ct=0;
a=a+1;
for(j=i+1; j<count; j++){
if(ch[i]==ch[j])
ct++;
}
printf('%c:%d
', ch[i], ct);
}
}
if(a==0)
printf("None");
return 0;
}
原文地址: https://www.cveoy.top/t/topic/pcYv 著作权归作者所有。请勿转载和采集!