【OJ】QUST 1226
来源:互联网 发布:中国gdp数据折线图 编辑:程序博客网 时间:2024/05/29 16:18
问题 A: 统计单词个数
时间限制: 1 Sec 内存限制: 128 MB
题目描述
我们的第一个任务,就是统计给定数据单词的个数。
输入
第一行输入一个整型数T,表示有T行测试数据。从第二行开始到第T+1行会有T组测试数据,每行一串字符,可能为大写字母,小写字母,数字(例如年份)或者空格,每两个单词之间用一个空格分隔,但是不保证每个单词以大写字母开头,也不保证大写字母只出现在开头。每一行可能有一个英文句号作为结尾,也可能没有。最后一个单词后面保证没有空格。每一行为一组测试数据,带有连接符“-”连接的两个词视为一个单词,每一行开头可能有一个空格。
输出
有与测试数据对应的T行,每行为一个整数,即这一组字符串中的单词的个数。
样例输入
3ACM International Collegiate Programming Contest is an annual multi-tiered competitive programming competition among the universitieS of the world.
样例输出
576
提示
//QUST 1226//问题 A: 统计单词个数#include<stdio.h>int main(){ int count,n; int num; scanf("%d",&n); int in; int tmp; for(count=1;count<n;count++){ num = 0; getchar(); while(1){ in = getchar(); if(in == 32){ if((tmp = getchar())==10){ //space and enter num++; break; } else{ ungetc(tmp,stdin); //single space num++; } } if(in == 10){ //single enter num++; break; } } printf("%d\n",num); } num = 0; getchar(); while(1){ in = getchar(); if(in == 32){ if((tmp = getchar())==EOF){ num++; break; } else{ ungetc(tmp,stdin); num++; } } if(in == EOF){ num++; break; } } printf("%d",num); return 0;}
可读性?能吃吗?怎么吃?好吃吗?
忽略每行开头可能出现的空格,每次读到空格时判断下一个字符是否为换行(或EOF)。若是,单词计数加一后退出;若否,继续读,读到换行(EOF)位置加一后退出。
今次没用到newlineornot()啊。
0 0
- 【OJ】QUST 1226
- 【OJ】QUST 1418
- 【OJ】QUST 1400
- 【OJ】QUST 1419
- 【OJ】QUST 1405
- 【OJ】QUST 1401
- 【OJ】QUST 1227
- 【OJ】QUST 1228
- 【OJ】QUST 1229
- QUST'S-OJ-problem-1262hanoi1.0
- QUST'S OJ problem1780 接水问题
- QUST'S OJ problem 1781 分数线划定
- QUST'S OJ problem 1779 统计数字
- QUST'S OJ problem 1778奖学金
- QUST'S OJ problem1342 完数
- QUST'S OJ problem 1641错位的键盘
- QUST'S OJ problem 1002 谁拿了最多奖学金
- QUST'S OJ problem 1355 函数实现二维数组的行列转换
- 图像滤波综合(方框、均值、高斯、中值、双边)
- JSON-RPC 2.0 说明文档 (译文)
- 项目3(2)
- 《设计模式》之装饰者模式
- 学习笔记之数据结构与算法(二)
- 【OJ】QUST 1226
- mac下抓包
- Lottery (水题)
- Android 滑动菜单的实现
- Java语言基础(一)
- jQuery.extend 函数详解
- json 文件转换成 模型数据
- HDOJ 1950 Bridging signals(LIS nlogn)
- 两道面试题:2012年10月9号阿里巴巴笔试