编程语言
首页 > 编程语言> > 算法构造——2018华科上机

算法构造——2018华科上机

作者:互联网

1.输入一个由英文字母和空格组成的句子,可能会出现一个或多个空格,不区分大小写

(1)输出该句子中字母的个数(10分)

(2)输出该句子中单词的个数(10分)

(3)输出该句子中出现次数最多的字母和次数(20分)

例如:输入:This   Is my love

输出:

字母个数:12,

单词个数:4,

出现次数最多的字母:i s,

出现次数:2

设计思路:可以尝试使用java中String中的split方法,现按照空格将整个句子切分,然后统计String数组中的各个元素,可以使用toCharArray方法,将每个元素再次分割成char然后按要求统计就行。

如果不让用API那可以尝试自己编写一个split方法,可以使用队列,依次遍历数组(默认整个句子是一个char数组)遇到空格就对队列进行一次清空操作,每次清空出来的元素可以进行统计,然后拼成串作为新数组的一个元素,这样(3)(2)(1)问可以在出队过程中一次全部完成。

 

 

 

2.输入一个十二进制数(a和b代表10和11),按要求输出。

(1)第一行输出每一位的十进制下的数。(10分)

(2)第二行输出这个十二进制数的十进制数。(10分)

(3)第三行输出转换后的十进制数在内存中的每一位二进制数。(共4个字节,每个字节以空格隔开)。(10分)

例如:

输入:a2

输出:10 2

12

 00000000 00000000 00000000 00001100

设计思路:(1)如果这个数是以String形式给出,可以把String拆分成一个char数组,然后对数组中每个元素进行判断,这样可以得到每位对应的十进制数字,在得到每位对应的十进制数之后,可以把这些数存入一个int数组,下标用来对应第i位字符(个、十、百位),值就是该位的值。

(2)对int数组进行遍历,并计算一个十进制的结果t,t=t+int[i]*12^i,最后的t就是结果

(3)对上一步的结果进行短除法,就是十进制转2进制的方法。每次计算count++,最后如果count不足32就在结果前便补0,知到count达到32,count初始为0。

 

 

 

3.输入一个带除法运算的字符串,输出运算结果。(30分)

(1)若能除尽,则直接输出

(2)若为循环小数,则输出前几位并用空格括起来

(3)若无法除尽,则保留小数并用空格括起来

 

例如:输入:8/5  输出:1.6(而不是1.6000...)

          输入:1/3   输出:.(3)(而不是0.333...)

          输入:11/13 输出:.(846153)

 

 

 

1.输入一个由英文字母和空格组成的句子,可能会出现一个或多个空格,不区分大小写
(1)输出该句子中字母的个数(10分)
(2)输出该句子中单词的个数(10分)
(3)输出该句子中出现次数最多的字母和次数(20分)

例如:输入:This   Is my love
输出:

字母个数:12,

单词个数:4,

出现次数最多的字母:i s,

出现次数:2

 

标签:10,上机,输出,十进制,空格,2018,华科,句子,输入
来源: https://www.cnblogs.com/zyq79434/p/14992529.html