#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;

}

代码中有以下错误:

  1. 第7行的括号位置不正确,应该将'!= '\n''放在括号内。
  2. 第11行的'i++'应该写在括号的外面。
  3. 第16行的'for'循环应该从'i+1'开始,避免重复计算。
  4. 第18行的'printf'语句应该写在'if'语句的外面。
  5. 第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;
}
C语言代码错误分析:字符出现次数统计

原文地址: https://www.cveoy.top/t/topic/pcYv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录