NOIP2010-普及组复赛模拟试题-第一题-手机
题目背景 Background

而第二下会把 w 变成 x。0 键按一下会出一个空格。
你的任务是读取若干句只包含英文小写字母和空格的句子, 求出要在手机上打出这个句
子至少需要按多少下键盘。
一行一个整数,表示按键盘的总次数。
输入样例:
i have a dream
输出样例:
23
思路:这题较为简单,可以先打表,这个比较快捷(记录每个按键所要按的次数),每次只输入一个字符,找到在表里面的答案加上计数器即可。
注意:输入数据有若干句,一行一句,所以要用文件读入。
代码如下:
#include <stdio.h>
#include <string.h>
int ans1[]={,,,,,,,,,,,,,,,,,,,,,,,,,,};//打表,统计每个按键所需的次数
int phone(char a[])
{
int ans=,i;
for(i=;i<strlen(a);i++)
{
if(a[i]!=' ')//字母
{
ans+=ans1[a[i]-];//计数器加上表内的数字
}
else //空格,计数器++
{
ans+=;
}
}
return ans;
}
int main()
{
char a[];
gets(a);
while(a[strlen(a)-]!=EOF)//如果还没到文件结尾,传入函数
{
printf("%d\n",phone(a));
gets(a);
}
return ;
}
NOIP2010-普及组复赛模拟试题-第一题-手机的更多相关文章
- NOIP2011-普及组复赛模拟试题-第一题-NBA总冠军
		
题目背景 Background 一年两度的期末考要到来了!! 题目描述 Description 又要到考试了,Ljw决定放松一下,就打开电视,看见了篮球赛,他立即想到了每年的NBA总冠军队伍.由 ...
 - NOIP2010-普及组复赛模拟试题-第二题-数字积木
		
题目描述 Description 小明有一款新式积木,每个积木上都有一个数,一天小明突发奇想,要是把所有的积木排成一排,所形成的数目最大是多少呢?你的任务就是读入 n 个数字积木,求出所能形成的最大数 ...
 - NOIP2011-普及组复赛模拟试题-第二题-买票
		
题目背景 Background Ztc真的遇上黄牛了... 题目描述 Description 周末Ztc想去剧场看演出,但是他没有票.这时,救世主Wzj出现了,他慷慨地愿意卖给Ztc一些票. ...
 - 冲刺NOIP2015提高组复赛模拟试题(五)2.道路修建
		
2.道路修建 描述 Description liouzhou_101最悲痛的回忆就是NOI2011的道路修建,当时开了系统堆栈,结果无限RE… 出于某种报复心理,就把那题神奇了一下: 在 Z星球上有N ...
 - CCF-NOIP-2018 提高组(复赛) 模拟试题(四)
		
T1 贪吃蛇 [问题描述] 贪吃蛇是一个好玩的游戏.在本题中,你需要对这个游戏进行模拟. 这个游戏在一个 \(n\) 行 \(m\) 列的二维棋盘上进行. 我们用 \((x, y)\) 来表示第 \( ...
 - CCF-NOIP-2018 提高组(复赛) 模拟试题(九)(2018 CSYZ长沙一中)
		
T1 Circle [问题描述] 小 w 的男朋友送给小 w 一个 n 个点 m 条边的图,并且刁难小 w 要她找出点数最少的正环. 小 w 不会做,于是向你求助. [输入格式] 第一行两个整数\(n ...
 - CCF-NOIP-2018 提高组(复赛) 模拟试题(七)
		
T1 Adjoin [问题描述] 定义一种合法的\(0-1\)串:串中任何一个数字都与\(1\)相邻.例如长度为$ 3 的 0-1 $串中,\(101\)是非法的,因为两边的\(1\)没有相邻的\(1 ...
 - CCF-NOIP-2018 提高组(复赛) 模拟试题(一)
		
T1 帽子戏法 问题描述 小 Y 有一个\(n*n*n\)的"帽子立方体" ,即一个\(n\)层的立方体,每层的帽子都 可以排成\(n*n\)的矩阵. "帽子立方体&qu ...
 - 破译情报-NOIP2016提高组复赛模拟试题
		
[题目描述] 最近国安人员截获了一份 RB 国的秘密情报, 全文都是经过加密的,每个单 词都很长.破译人员想到先把单词化简一下,方法是把每个单词尽量取短些的前 缀,但所取的前缀不能是其他单词的前缀. ...
 
随机推荐
- 系统不识别某些Android设备:adb devices不显示问题解决
			
1.获取厂商android设备ID 电脑连接android设备,然后执行命令: system_profiler SPUSBDataType 2.将厂商ID添加到 adb_usb.ini 文件中 Mac ...
 - C#数字类型及运算符
 - webkit框架的使用
			
// // JSViewController.m // Library // // Created by 朱逸 on 16/7/7. // Copyright © 2016年 朱逸. All righ ...
 - 2014年蓝桥杯预选赛 C/C++ 本科A组试题--切面条
			
//主要是要找到f(n)=2*f(n-1)-1的规律. #include <stdio.h> #include <math.h> int f(int n) { if(n==0) ...
 - spring+springmvc+maven+mybatis整合
			
jar包依赖:网址search.maven.org 1.spring :spring-core 2. myhabits:myhabits 3.整合spring和myhabits: ...
 - java实现的简单词法分析器
			
一个简单的词法分析器 词法分析(Lexical Analysis) 是编译的第一阶段.词法分析器的主要任务是读入源程序的输入字符.将他们组成词素,生成并输出一个词法单元序列,每个词法单元对应一个词素. ...
 - Chapter 21_2 模式匹配函数
			
基础函数比较简单,就是几个普通的函数string.byte.string.char.string.rep.string.sub.string.format还有大小写转换函数upper和lower. 接 ...
 - myeclipse连接数据库oracle(添加jdbc.properties)
			
第一步:在src下面建一个包com.xsl.conf 第二步:在建好的包下面新建一个jdbc.properties 第三步:在jdbc.properties里写入内容如下: driver = orac ...
 - 关于Windows Boot Manager、Bootmgfw.efi、Bootx64.efi、bcdboot.exe 的详解
			
1. http://bbs.wuyou.com/forum.php?mod=viewthread&tid=303679&fromuid=396698
 - Masonry的一些等间距布局
			
控件之间的间距相等,但是控件的宽度是不定的. 下列的代码:定义间距为10,yellowview的宽度是由redView的宽度计算出来的. UIView *redView = [[UIView allo ...