关于#c语言#的问题,请各位专家解答!数组理不清 数组和循环的关系

怎么分别对不同的信分别处理?
如何同时删去两个字符?
删去任意位置的字符如何做?

img

循环遍历数组,查看是否同时存在AB或者BC,也就是一封信中A+C的数量=B的数量,如果成立,就得到宝箱,否则就没有宝箱。
代码如下:

#include <stdio.h>

int main()
{
    int x[60],m[60];
    int na,nb,nc;
    char a[60][210]={0}; //存储信的内容
    int n;//n封信
    int i,j,total = 0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d %d",&m[i],&x[i]); //得到长度和对应的宝箱个数
        scanf("%s",a[i]);           //得到新的内容
        na = 0;nb=0;nc=0; //重置ABC的数量
        for(j=0;j<m[i];j++)
        {
            if(a[i][j]=='A') na++;
            else if(a[i][j]=='B') nb++;
            else if(a[i][j]=='C') nc++;
        }
        if((na+nc) == nb)
            total += x[i]; //匹配,获得第i封信对应的宝箱数
    }
    printf("%d",total);
    return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632