怎么分别对不同的信分别处理?
如何同时删去两个字符?
删去任意位置的字符如何做?
循环遍历数组,查看是否同时存在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;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!