c语言 字符串数组问题

问题遇到的现象和发生背景

7-5 字符统计
分数 20
作者 xde
单位 许昌学院
编写一个程序,从键盘接收一个字符串,完成对字符串中的字符出现的次数的统计。

遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
#include
#include
int main(){
    char ch[255];
    char al[26];
    int cnt[26]={0};
        
    int i,j,n;
    char yzx='a';
    for(i=0;i<26;i++)
    {al[i]=yzx;
    yzx+=1;
    }
    gets(ch);
    n=strlen(ch);
    for(i=0;ifor(j=0;j<26;i++)
        if(ch[i]==al[j])cnt[j]++;}
    for(j=0;j<26;i++){
        if(cnt[j]!=0)printf("%c:%d\n",al[j],cnt[j]);
    }
    }

    


运行结果及详细报错内容

没有输出

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

我的想法就是一个一个比较

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

请求帮助那里错误了

写得太啰嗦了,要区分大小写吗?

#include <stdio.h>
int main()
{
    char s[1000];
    int a[26] = {0},i=0;
    gets(s);
    while(s[i] != '\0')
    {
        a[s[i] - 'a'] ++;
        i++;
    }
    for(i=0;i<26;i++)
        printf("%c:%d\n",i+'a',a[i]);
}

img

这些地方应该是j++,而不是i++