帮助只获得了10分的朋友们
查看原帖
帮助只获得了10分的朋友们
1053560
Kotori_Kawaii楼主2023/10/23 17:03
#include<stdio.h>
int main()
{
    char ch[205];
    scanf("%[^\n]",ch);
    int i=0;
    int cnt=0;
    while(ch[i]){
        if(ch[i]=='a'||ch[i]=='d'||ch[i]=='g'||ch[i]=='j'||ch[i]=='m'||ch[i]=='p'||ch[i]=='t'||ch[i]=='w'){
            ++cnt;
        }else if(ch[i]=='b'||ch[i]=='e'||ch[i]=='h'||ch[i]=='k'||ch[i]=='n'||ch[i]=='q'||ch[i]=='u'||ch[i]=='x'){
            cnt+=2;
        }else if(ch[i]=='c'||ch[i]=='f'||ch[i]=='i'||ch[i]=='l'||ch[i]=='o'||ch[i]=='r'||ch[i]=='v'||ch[i]=='y'){
            cnt+=3;
        }else if(ch[i]=='s'||ch[i]=='z'){
            cnt+=4;
        }else if(ch[i]=' '){
            ++cnt;
        }
        i++;
    }
  
 if(ch[i-1]==' '){
        cnt--;
    }

    printf("%d",cnt);
    return 0;
}

如代码所示

加上

if(ch[i-1]==' '){
        cnt--;
    }

的话,就可以获得正确的结果

看了下其他贴大佬的说的数据最后留有空格

我试着判断一下字符串中最后一个是否为空格

若为空格 则让cnt--

就成功通过了

2023/10/23 17:03
加载中...