问题描述如下:
“从1到5的单词为:one,two,three,four,five,一共有3+3+5+4+5=19个字母,那么从1到1000(one thousand)的单词一共有多少个字母?
note:不计空格及连字符。例如,342(three hundred and forty-two)有23个字母和115(one hundred and fifteen)有20个字母,在英国人的使用习惯中,‘and’在写数字中是必不可少的。”
代码实现如下:
/**
* 字母总数
* @return
*/
private static int getSum() {
int sum = 0;
for (int i = 1; i <= 1000; i++) {
System.out.println(i + ":" + getCount(i));
sum += getCount(i);
}
return sum;
}
/**
* 获得某个数字的字母长度,最大数字不操作1000
*
* @param number
* @return
*/
private static int getCount(int number) {
int[] singleWord = { 4, 3, 3, 5, 4, 4, 3, 5, 5, 4, 3, 6, 6, 8, 8, 7, 7,
9, 8, 8 };
int[] tensWord = { 0, 0, 6, 6, 5, 5, 5, 7, 6, 6 };// 0 10 20 30...90
int hundred = 7;
int thousand = 8;
int count = 0;
if (number == 1000) {
return 3 + thousand;
}
if (number / 100 > 0) {
count += singleWord[number / 100] + hundred;// 百位
if (number % 100 > 0) {
count += 3;// and
}
}
if (number % 100 >= 20) {// 大于20的
count += tensWord[number / 10 % 10];// 十位
if (number % 10 > 0) {
count += singleWord[number % 10];// 个位
}
} else if (number % 100 > 0) {// 小于20的
count += singleWord[number % 100];
}
return count;
}
结果为:21124
请不吝赐教。
@anthor ClumsyBirdZ
分享到:
相关推荐
单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计
在words.txt文件中包含了87314个单词,编写C++程序从words文件中读取单词,并输出重复字母对最多的单词,将第一个最多重复字母对的单词写入newwords.txt文件中。例如tooth这个单词有一个重复字母对,committee有三个...
c语言课程作业,(输入一个单词或者一组字符,输入要删除的字母,运行后会输出删除后剩下的字母)。
C语言程序设计-将从键盘上输入的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开,用’.’结束输入; .c
只有一行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开,分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字母在文章中的位置,位置从0开始);如果单词...
给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello” 输入描述: 输入数据有多组,每组占一行...
4个字母的英文单词大全,英语单词,单词汇总,4位英文
编写程序统计一组字符串中,单词(用空格隔开的连续的字符)的个数,大写字母的个数,小写字母的个数,数字的个数,空格的个数和其他字符的个数,调用函数实现
5、练单词—对应的首字母有一些随机的选择题的题库,根据发音选择正确的单词 6、错题集---用于记录记单词和练单词过程中不认识的单词 ———————————————— 版权声明:本文为CSDN博主「Android毕业设计...
对读入的某个文本文件input.txt中,拆出英文单词,输出一个按字典顺序排列的单词表,结果输出在文本文件output.txt中,每个单词一行,并在单词后输出该单词出现的个数,两个字段之间用逗号分隔。约定单词仅由英文...
统计一篇文章中的单词数并按字典序输出,采用二叉查找树
实验11-1-1 英文单词排序 (25 分) 本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。 输入格式: 输入为若干英文单词,每行一个,以#作为输入结束...
最近有朋友问过我一道C语言程序题:从键盘输入一句英文,每个单词用空格隔开,用‘#’结束输入,写一个子程序,将英文每个单词首字母转为大写输出,好像百度上没有找到匹配的,今天我写了一个,附上来请大家指点。
这是每日学习中C语言代码题目,描述1到10的英文单词;输入1到10之间的任意一个数字,输出相应的英文单词(首字母大写)。如果输入其他数字则输出Error。
Java 1. 接受输入英文字符串,将字符串中每个单词的首字母转换为大写,并输出。 例如输入:I like apples. 输出为:I Like Apples.
对N(2≤N≤100000)个由M(2≤M≤1000)个小写字母组成的英文单词排序, 使得相邻的两个单词中前一个单词的末字母等于后一个单词的首字母。 【输入形式】 从标准输入上读入。输入文件有N(2≤N≤100000)行,每行...
有一个单词W,输出它在字符串S中从左到右第一次出现的位置IDX(设S中的第1个字符的位置为1)。W只由英文字母组成,S除英文字母和汉字之外在任何位置(包括头和尾)另有一个或多个连续的空格。 查找单词时,不区分大小...
人教版高中英语必修单词按字母排序.doc
7个字母的单词(7个字母的英文单词全集)[收集].pdf
按字母个数记忆单词,方便中初级英语爱好者学习,本DEMO版本数据词库以国家英语四级为基础.