题解 | #手机键盘#

手机键盘

https://www.nowcoder.com/practice/20082c12f1ec43b29cd27c805cd476cd

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
    int Arr[26] = {1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 1, 2, 3, 4};
    char str[100];
    while ((scanf("%s", str)) != EOF) {
        int number = 0;
        for (int i = 0; str[i] != '\0'; i++) {
            int j = str[i] - 'a';
            number += Arr[j];
            if (i > 0) {
                int k = str[i - 1] - 'a';
                if ((str[i] - str[i - 1]) == (Arr[j] - Arr[k]))
                {
                    number += 2;
                }
            }
        }
        printf("%d\n", number);
    }
    return 0;
}

全部评论

相关推荐

讲原则的小黄鸭不愿吃...:有时候面试眼缘确实很重要,当然,飞驰人生2中张弛说的很对:我努力了无数次,但是我知道机会只会出现在其中一两次。你把每一次笔试面试都全力以赴,总有你运气发挥到位的时候
点赞 评论 收藏
分享
鱼专:别投了,我看到有人点了第二个链接投递,还没退出界面,不合适的邮件就发过来了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务