问题描述如下:
“从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
分享到:
相关推荐
在本实验中,我们将探讨如何使用C++编程语言从名为`words.txt`的文本文件中读取单词,并找出其中重复字母对最多的单词。这个任务涉及到了C++中的文件输入输出流,以及字符串处理技巧。首先,我们需要理解C++中如何...
首先,理解“单词字母频率统计”:这是一种统计技术,用于计算一个给定文本中每个字母出现的频次。这种统计可以帮助我们了解文本的基本特征,例如英文文本中,e是最常见的字母,其次是t、a等。这对于识别文本语言、...
### 删除单词中的字母 #### 背景与目标 本篇C语言程序旨在实现一个简单的字符串处理功能:用户可以输入一个单词或一组字符,并指定一个需要删除的字母;程序将输出删除该字母后的剩余字符组成的字符串。这项练习...
1. **词汇学习与记忆**:文章提供了大量的4个字母的英文单词,这对于英语学习者来说是宝贵的词汇资源。学习这些单词有助于扩大词汇量,提高阅读理解能力和口语表达能力。例如,"able"表示“有能力的”,"ache"指...
C语言程序设计-将从键盘上输入的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开,用’.’结束输入; .c
【单词簿管理系统-Java课设作业】是一份Java课程设计报告,旨在实现一个用于管理单词簿的应用程序。这个系统能够帮助用户存储、检索和管理他们的词汇学习资料,为语言学习者提供便利。以下是对该系统的主要设计和...
给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello” 输入描述: 输入数据有多组,每组占一行...
1. 字母排序的重要性:人教版高中英语必修单词按照字母顺序排序,这体现了英语学习中字母顺序的重要性。掌握字母顺序可以帮助学生更好地学习和记忆英语单词。 2. 英语单词的分类:文件中的单词可以分为多个类别,如...
该题目要求编写一段C语言代码,实现的功能是:当用户输入1到10之间的任意一个数字时,程序应该输出对应的英文单词,且首字母大写。例如,输入1,程序应输出"One";输入5,程序应输出"Five"。如果用户输入的不是1到10...
7个字母的单词知识点汇总 在英语学习中,掌握单词是非常重要的一步。今天,我们来总结7个字母的单词,全集共收录了361个单词。 音韵学和发音 在英语中,7个字母的单词的音韵学和发音非常重要。例如,abactor的发音...
只有一行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开,分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字母在文章中的位置,位置从0开始);如果单词...
5、练单词—对应的首字母有一些随机的选择题的题库,根据发音选择正确的单词 6、错题集---用于记录记单词和练单词过程中不认识的单词 ———————————————— 版权声明:本文为CSDN博主「Android毕业设计...
实验11-1-1 英文单词排序 (25 分) 本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。 输入格式: 输入为若干英文单词,每行一个,以#作为输入结束...
标题“轻松背单词/按字母个数记忆单词”所揭示的是一个英语学习工具,它采用了一种特定的记忆策略,即根据单词中字母的数量来帮助学习者记忆单词。这种方法可能特别适用于中初级英语学习者,因为它提供了一种有组织...
编写程序统计一组字符串中,单词(用空格隔开的连续的字符)的个数,大写字母的个数,小写字母的个数,数字的个数,空格的个数和其他字符的个数,调用函数实现
【标题】和【描述】提到的是英文单词的集合,尤其是4个和6个字母的英文单词。这实际上是在探讨英语词汇学的一个方面,即不同长度的词汇构成。在这个主题下,我们可以深入研究以下知识点: 1. **英语词汇的多样性**...
reversed_word = ''.join(word[i] for i in range(len(word) - 1, -1, -1)) # 单词中字符倒序 new_words.append(reversed_word) return ' '.join(new_words) # 将所有单词用空格连接起来 ``` #### 知识点三:...
统计一篇文章中的单词数并按字典序输出,采用二叉查找树
最近有朋友问过我一道C语言程序题:从键盘输入一句英文,每个单词用空格隔开,用‘#’结束输入,写一个子程序,将英文每个单词首字母转为大写输出,好像百度上没有找到匹配的,今天我写了一个,附上来请大家指点。
最终结果将被保存到`output.txt`文件中,每个单词占一行,单词后面紧跟着其在文件中出现的次数,两者之间用逗号分隔。以下是对这个任务的详细解释和实现方法: 首先,我们需要导入必要的Python库,如`collections`...