测试题
1.(1). 对于int类型的变量,Java编译器和大多数C编译器都是分配4个字节的内存,4个字节有32个二进制位即总共可以拥有多少种状态,其中一半的状态用来存储负数,一半的状态用来存储0和正数。因此,int类型的变量可以存储的负数的范围是,可以存贮的非负数的范围是。
已知,请你回答的最高位和数据的位数各是多少。
(2). Java的long类型和C的long long类型都是8个字节,请你回答它们可以表示的最大整数的数据位数是多少。
说明:要给出理由
2.猴子摘了若干桃子,第一天吃了一半多一个,第二天又吃了剩下的一半多一个,以此类推,到第16天时还剩一个,问猴子原来摘了多少桃子?
3.从1921年7月23日中午12:00:00到2022年7月1日中午12:00:00,一共经过了多少秒?
4.获取一个整数的数位逆序后得到的整数
输入:一个整数n
输入:该整数的数位逆序后得到的整数m
例如
输入:
1234567
输出:
7654321
说明:输出的是一个与原整数数位长度相同的整数,对所有测试用例,
5.计算购物清单的总额
输入的第一行包括一个整数n,表示购物清单中不同商品的种类数
接下来的n行,每行输入2个数据,第一个数据表示商品的原价,第二个数据表示折扣
输出:购物清单的总额,略去小数部分
10
253.5 85折
106.9 9折
3210.8 半价
87.2 88折
8.5 半价
68.5 75折
100.8 82折
654.3 7折
872.6 半价
12.7 5折
说明:要求编程计算
6.输入一个字符串,按字母出现的频次由大到小输出各字母及其出现的频次,频次相同时按字母的升序输出
例如
输入:
bbbzzmmppppppyyy
输出:
p: 6
b: 3
y: 3
m: 2
z: 2
说明:输入中只包含小写字母,对所有测试用例,字符串的长度不超过
7.给定一个长度为n的int类型的数组,假设数组元素的值互不相同,在不排序的前提下,如何快速找出数组中最大的m个值?请写出你的思路。
1对于int类型的变量,由于是32位,所以可以表示32种不同的状态。然而,其中一位是符号位,用于表示正负,所以实际上只能用31位来表示数字。
所以对于负数,其范围是-2^31到-1;对于非负数,其范围是0到2^31-1(2147483647)
2在Java中,long类型是一个64位的有符号整数类型,因此它可以表示的最大整数是2^63 - 1。而在C语言中,long long类型通常也是64位,但它是无符号的,因此它可以表示的最大整数是2^64 - 1。