算法构造——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