经典算法题之手机键盘C

发布时间 2024-01-06 21:04:29作者: 神奇的萝卜丝

#include<stdio.h>
int main(){
    char A[4][8]={
            'a','d','g','j','m','p','t','w',
            'b','e','h','k','n','q','u','x',
            'c','f','i','l','o','r','v','y',
            ' ',' ',' ',' ',' ','s',' ','z'
    };
    char s[101];
    while( scanf("%s",s) != EOF ){
        int flag = 0 ;
        int tag = -1 ;
        int i = 0, sum = 0 ;
        while( s[i] != '\0' ){
            for(int j =0 ; j < 4 ; j ++ ){
                for(int y = 0 ; y < 8 ; y++ ){
                    if(A[j][y]==s[i]){
                        sum+=(j+1) ;
                        if(tag==y){
                            sum+=2;
                        }
                        tag=y;
                        flag = 1;
                        break;
                    }
                }
                if(flag == 1){
                    flag =0;
                    break;
                }
            }
            i++;
        }
        printf("%d",sum);
    }
    return 0;
}

结果: