首页 > 技术文章 > 【PAT】B1057 数零壹(20 分)

hebust 2018-08-18 07:32 原文

简单题,简单字符串处理加简单数学进制转换

#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main(){
    char str[100100];
    scanf("%[^\n]",str);
    int len=strlen(str);
    int sum=0;
    for(int i=0;i<len;i++){
        if(isupper(str[i])) sum=sum+str[i]-'A'+1;
        if(islower(str[i])) sum=sum+str[i]-'a'+1;
    }
    int yi=0,ling=0;
    while(sum!=0){
        if(sum%2==0) ling++;
        else yi++;
        sum/=2;
    }
    printf("%d %d",ling,yi);
    return 0;
}

推荐阅读