Epiphany、愚且不一 2022-10-30 05:07 采纳率: 100%
浏览 29
已结题

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

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

img

  • 写回答

2条回答 默认 最新

  • 关注

    循环遍历数组,查看是否同时存在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;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月7日
  • 已采纳回答 10月30日
  • 创建了问题 10月30日

悬赏问题

  • ¥15 github录制项目
  • ¥15 H.264选择性加密例程
  • ¥50 windows的SFTP服务器如何能批量同步用户信息?
  • ¥15 centos7.9升级python3.0的问题
  • ¥15 如何解决调试dev-出++5.11不成功问题
  • ¥15 安装CentOS6时卡住
  • ¥20 关于#监控系统#的问题,如何解决?(相关搜索:系统软件)
  • ¥20 c语言写的8051单片机存储器mt29的模块程序
  • ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
  • ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。