统计按键次数c++

文章讲述了如何通过编程计算使用九宫格输入法显示给定小写字母和空格字符串所需的总按键次数,给出C++代码实现。
摘要由CSDN通过智能技术生成

题目描述

九宫格输入法适合在手机上使用,它在屏幕上的布局如下:

九宫格键盘.jpg

如果要输出一个 x,就需要按两下 9。第一次按 9 号键会出现 w,按第二次 9 号键才会将 w 改成 x。注意 0 号键的作用是输入空格,只要按一次 0 号键就会输出一个空格。

给定一些仅有小写字母和空格组成的字符串 s,请统计用九宫格输入法需要按多少次键,才能在屏幕上显示这个字符串。

输入

单个字符序列:表示需要出现在屏幕上的内容,保证仅由小写字母及空格组成。

输出

单个整数:表示按键的总次数。

数据范围

设 s表示输入字符串的长度,则有 1≤s≤255。

样例输入

hello world

样例输出

25

分析

这是一个字符串的问题

首先定义变量

因为这里输入有空格,所以要用:

getline(cin,a)

代码如下(因为我只会枚举法,有些麻烦,其他方法还请代码大神们自己编吧):

#include<bits/stdc++.h>
using namespace std;
int main(){
	string zc;
	getline(cin,zc);
	long long sum=0,l=zc.size();
    for(int i=0;i<l;i++){
    	if(zc[i]=='a') sum=sum+1;
    	if(zc[i]=='b') sum=sum+2;
    	if(zc[i]=='c') sum=sum+3;
    	if(zc[i]=='d') sum=sum+1;
    	if(zc[i]=='e') sum=sum+2;
    	if(zc[i]=='f') sum=sum+3;
    	if(zc[i]=='g') sum=sum+1;
    	if(zc[i]=='h') sum=sum+2;
    	if(zc[i]=='i') sum=sum+3;
    	if(zc[i]=='j') sum=sum+1;
    	if(zc[i]=='k') sum=sum+2;
    	if(zc[i]=='l') sum=sum+3;
    	if(zc[i]=='m') sum=sum+1;
    	if(zc[i]=='n') sum=sum+2;
    	if(zc[i]=='o') sum=sum+3;
    	if(zc[i]=='p') sum=sum+1;
    	if(zc[i]=='q') sum=sum+2;
    	if(zc[i]=='r') sum=sum+3;
    	if(zc[i]=='s') sum=sum+4;
    	if(zc[i]=='t') sum=sum+1;
    	if(zc[i]=='u') sum=sum+2;
    	if(zc[i]=='v') sum=sum+3;
    	if(zc[i]=='w') sum=sum+1;
    	if(zc[i]=='x') sum=sum+2;
    	if(zc[i]=='y') sum=sum+3;
    	if(zc[i]=='z') sum=sum+4;
        if(zc[i]==' ') sum=sum+1;
	}
	cout<<sum;
	return 0;
}
  • 15
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值