JAVA编程习题1.docx
《JAVA编程习题1.docx》由会员分享,可在线阅读,更多相关《JAVA编程习题1.docx(31页珍藏版)》请在冰豆网上搜索。
JAVA编程习题1
JAVA编程习题1
4.test10097求两个数的和
/*输入n表示做n次下面的操作:
输入两个正整数,输出它们的和.
例:
输入:
2//表示n=2,做两次操作
1011
2030
输出:
sum=21
sum=50
*/
5.test20001求两个数的和与差
/*程序填空,不要改变与输入输出有关的语句。
输入整数a和b,计算并输出a、b的和与差。
例:
输入
2-8
输出
Thesumis-6
Thedifferenceis10*/
6.test20002求平方根
//程序填空,不要改变与输入输出有关的语句。
输入1个实数x,计算并输出其平方根。
例:
输入
1.21
输出
Thesquarerootof1.21is1.1
7.test20003华氏温度转换成摄氏温度
/*程序填空,不要改变与输入输出有关的语句。
输入华氏温度f,计算并输出相应的摄氏温度c。
c=5/9(f-32).
例:
括号内是说明
输入
17.2(华氏温度)
输出
Thetempratureis-8.222222222222223*/
8.test20004计算旅途时间
程序填空,不要改变与输入输出有关的语句。
输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。
有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情况。
例:
括号内是说明
输入
7121411(出发时间是7:
10,到达时间是14:
11)
输出
Thetrainjourneytimeis6hrs59mins.
9.test20005数字加密
程序填空,不要改变与输入输出有关的语句。
输入1个四位数,将其加密后输出。
方法是将该数每一位上的数字加9,
然后除以10取余,做为该位上的新数字,
最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。
例:
括号内是说明
输入
1257
输出
Theencryptednumberis4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)
10.test20006大小写字母转换
程序填空,不要改变与输入输出有关的语句。
输入一个大写英文字母,输出相应的小写字母。
例:
输入
G
输出
g
importjava.io.*;
publicclassT20006{
publicstaticvoidmain(String[]args)throwsIOException
{
charch;
ch=(char)System.in.read();
/*------------------*/
ch=(char)(ch+32);//以ASCII码计算
System.out.println(ch);
}
}
11.Test20007计算三门课程的平均成绩
程序填空,不要改变与输入输出有关的语句。
已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均分。
本题无输入。
输出示例:
math=87,eng=72,comp=93
average=84
12.test20008计算存款利息
程序填空,不要改变与输入输出有关的语句。
输入存款金额money、存期year和年利率rate,
根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。
interest=money(1+rate)^year-money
输入输出示例:
括号内为说明
输入
100030.025(money=1000,year=3,rate=0.025)
输出
interest=76.89
13.test30001显示两级成绩
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。
输出使用System.out.println("Pass");及System.out.println("Fail");
例:
括号内是说明
输入
2(repeat=2)
6059
输出
Pass
Fail
14.test30002找最小值
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0输入四个整数,输出其中的最小值。
例:
括号内是说明
输入
3(repeat=3)
126190
10403020
-1-3-4-5
输出
minis1(126190中的最小值是1)
minis10(10403020中的最小值是10)
minis-5(-1-3-4-5中的最小值是-5)
15.test30003求三角形的面积和周长
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0输入三角形的三条边a,b,c,如果能构成一个三角形,输出面积area和周长perimeter;
否则,输出“Thesesidesdonotcorrespondtoavalidtriangle”。
在一个三角形中,任意两边之和大于第三边。
三角形的面积计算公式:
aere*area=s(s-a)(s-b)(s-c)
其中:
s=(a+b+c)/2
输出代码:
System.out.println("area="+area+";perimeter="+perimeter);
System.out.println("Thesesidesdonotcorrespondtoavalidtriangle");
例:
括号内是说明
输入
2(repeat=2)
553
114
输出
area=7.154544;perimeter=13.0
Thesesidesdonotcorrespondtoavalidtriangle
16.test30004判断数的符号
/*输入一个正整数repeat(0输入整数x,若x大于0,y=1;若x等于0,y=0;否则,y=-1,最后输出y。
例:
括号内是说明
输入
3(repeat=3)
2-80
输出
1(x=2时y=1)
-1(x=-8时y=-1)
0(x=0时y=0)
*/
17.test30005计算个人所得税
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0输入一个职工的月薪salary,输出应交的个人所得税tax。
tax=rate*(salary-850)
当salary<=850时,rate=0%;
当850当1350当2850当5850例:
括号内是说明
输入
5(repeat=5)
1010.87
32098.76
800
4010
2850
输出
tax=8.04
tax=6249.75
tax=0.0
tax=474.0
tax=200.0
18.test30006显示水果的价格
/*以下4种水果的单价分别是3.00元/公斤,2.50元/公斤,4.10元/公斤,10.20元/公斤。
[1]apples
[2]pears
[3]oranges
[4]grapes
输入水果的编号,输出该水果的单价。
如果输入不正确的编号,显示单价为0。
例:
括号内是说明
输入
1(repeat=1)
3(oranges的编号)
输出
[1]apples
[2]pears
[3]oranges
[4]grapes
price=4.1
*/
19.test30007字母转换
程序填空,不要改变与输入输出有关的语句。
输入一批以问号“?
”结束的字符,对“?
”以前的每一个字符,如果它是大写字母,输出相应的小写字母;如果它是小写字母,输出相应的大写字母;否则,原样输出。
例:
输入
F=y?
输出
f=Y
20.test40001求1+1/2+1/3+……1/n
/*程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0读入1个正整数n(n<=100),计算并输出1+1/2+1/3+……+1/n。
例:
括号内是说明
输入
2(repeat=1)
2
10
输出
1.5
2.9289684*/
21.test40002求n!
/*程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0读入1个正整数n(n<=50),计算并输出n!
。
例:
括号内是说明
输入
3(repeat=2)
1
10
5
输出
1.0
3628800.0
120.0*/
22.test40003求x的n次幂
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0读入1个正实数x和1个正整数n(n<=50),计算并输出x的n次幂。
例:
括号内是说明
输入
2(repeat=2)
1.52
2.010
输出
2.25
1024.0
23.test40004求1-1/2+1/3-1/4+……
/*读入1个正整数n(n<=100),
计算并输出1-1/2+1/3-1/4+……的前n项和(四舍五入保留小数4位)。
例:
括号内是说明
输入
2(repeat=2)
10
3
输出
0.6456
0.8333*/
24.求1+1/3+1/5+1/7+……
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0读入1个正整数n(n<=100),计算并输出1+1/3+1/5+1/7+……的前n项和。
例:
括号内是说明
输入
2(repeat=2)
10
3
输出
2.133256
1.5333334
25.求1-1/3+1/5-1/7+……
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0读入1个正实数eps,计算并输出1-1/3+1/5-1/7+……,
直到最后一项的绝对值小于eps为止(要求每一项的绝对值均大于等于eps,并以float类型输出数据)。
例:
括号内是说明
输入
2(repeat=2)
1E-4
0.1
输出
0.7853482
0.83492064
26.摄氏温度和华氏温度转换表
/*程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0输入2个整数begin和end,分别代表摄氏温度的起止值,
输出该范围内摄氏温度C和华氏温度F的转换表。
F=32+C*9/5
输出语句:
System.out.println(c+"\t"+f);
例:
括号内是说明
输入
1(repeat=1)
57
输出
CelsiusFahrenheit
541
642
744*/
27.求奇数和
/*程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0读入一批正整数(以零或负数为结束标志),求其中的奇数和。
例:
括号内是说明
输入2
2(repeat=2)
139070
87437056101-1
输出
11
116
*/
28.求最大值
/*程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0输入一个正整数n,再输入n个整数,输出最大值。
例:
括号内是说明
输入
3(repeat=3)
42123-1000
491-18
3135
输出
123
9
5*/
29.求整数的位数以及各位数之和
/*程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0输入一个整数,输出它的位数以及各位数之和。
例:
括号内是说明
输入
4(repeat=4)
123456-100-199
输出
number=6,sum=21(123456的位数是6,各位数之和是21)
number=3,sum=1(-100的位数是3,各位数之和是1)
number=1,sum=1(-1的位数是1,各位数之和是1)
number=2,sum=18(99的位数是2,各位数之和是18)*/
30.求2/1+3/2+5/3+8/5+……
/*输入一个正整数repeat(0输入一个正整数n,输出2/1+3/2+5/3+8/5+...的前n项之和,
保留4位小数(不足4位时,不必用0填满4位)。
(该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)
例:
括号内是说明
输入
3(repeat=3)
1520
输出
2.0(第1项是2.0)
8.3917(前5项的和是8.3917)
32.6603(前20项的和是32.6603)*/
31.求a+aa+aaa+aa…a
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0输入2个正整数a和n,求a+aa+aaa+aa…a(n个a)之和。
例:
括号内是说明
输入
2(repeat=2)
23(a=2,n=3)
85(a=8,n=5)
输出
246(2+22+222)
98760(8+88+888+8888+88888)
32.判断素数
/*程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0输入一个正整数m,如果它是素数,输出"YES",否则,输出"NO"
(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
例:
括号内是说明
输入
4(repeat=4)
12917
输出
NO(1不是素数)
YES(2是素数)
NO(9不是素数)
YES(17是素数)*/
33.求1+1/2!
+……+1/n!
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0输入1个正整数n,计算s的前n项的和。
s=1+1/2!
+....+1/n!
例:
括号内是说明
输入:
2(repeat=2)
2(n=2)
10(n=10)
输出:
1.5
1.7182816
34.求各位数字的立方和等于它本身的数
/*程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0输入2个正整数m和n(1<=m,n<=1000),
输出m和n之间所有满足各位数字的立方和等于它本身的数。
输出语句:
System.out.println(i);
例:
括号内是说明
输入:
2(repeat=2)
100400(m=100,n=400)
1100(m=1,n=100)
输出:
153(1*1*1+5*5*5+3*3*3=153)
370(3*3*3+7*7*7=370)
371(3*3*3+7*7*7+1*1*1=371)
1
*/
35.统计素数并求和
/*程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0输入2个正整数m和n(1<=m,n<=500),统计并输出m和n之间的素数的个数以及这些素数的和。
例:
括号内是说明
输入:
3(repeat=2)
110(m=1,n=10)
2035(m=20,n=35)
1416(m=14,n=16)
输出:
count=4,sum=17(1到10之间有4个素数:
2,3,5,7)
count=3,sum=83(20到35之间有3个素数:
23,29,31)
count=0,sum=0(14到16之间没有素数)
*/
36.统计单词
/*输入一行字符,统计其中单词的个数。
各单词之间用空格分隔,空格数可以是多个。
例:
括号内是说明
输入
2(repeat=2)
Reoldbuildingroom123
Programmingisfun
输出
4
3*/
37.输出一个整数的各位数字
/*程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0输入一个整数,从高位开始逐位输出它的各位数字。
输出语句:
System.out.print(digit+"");
例:
括号内是说明
输入
3(repeat=3)
123456
-600
8
输出
123456
600
8
*/
38.简单计算器
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0程序模拟简单运算器的工作:
输入一个算式(没有空格),
遇等号"="说明输入结束,输出结果。
假设计算器只能进行加减乘除运算,运算数和结果都是整数,
4种运算符的优先级相同,按从左到右的顺序计算。
例:
括号内是说明
输入
2(repeat=2)
15+2/3=(数字与运算符之间有一空格)
1+2*10-10/2=(数字与运算符之间有一空格)
输出
5
10
*/
/*补充知识:
in.next()与in.nextline()的区别
in.next只接受一个字,不能接受一个带有空格的字符串,如下:
例如输入:
Showme--(回车)
用next()只能得到Show,因为遇到空格表示结束,但是nextline()则要遇到回车才知道结束.
可以看一个例子,演示给大家看,如下:
-----------------------------------------
importjava.util.Scanner;
publicclassTest60011{
publicstaticvoidmain(String[]args)
{
Strings1_1,s1_2,s2;
Scannerin=newScanner(System.in);
s1_1=in.next();
System.out.println(s1_1);
System.out.println("----------");
in.nextLine();//把剩余的吃掉
s2=in.nextLine();
System.out.println(s2);
System.out.println("----------");
s1_1=in.next();
s1_2=in.next();
System.out.println(s1_1+""+s1_2);
}
}
-------------------------------------------
*/
39.求1+1/2!
+……1/N!
//求1+1/2!
+1/3!
+....(用方法求n!
)
40.求a+aa+aaa+……(用方法)
//求a+aa+aaa+aa…a
41.统计一个整数中数字的个数
/*程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0读入1个整数,统计并输出该数中2的个数。
要求定义并调用函数countdigit(number,digit),
它的功能是统计整数number中数字digit的个数。
例如,countdigit(10090,0)的返回值是3。
例:
括号内是说明
输入:
3(repeat=3)
-21902
2
345543
输出:
count=2(-21902中有2个2)
count=1(有1个2)
count=0(345543中没有2)*/
42.判断素数(用方法)
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0输入一个正整数n,如果它是素数,输出"YES",否则,输出"NO"
(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
要求定义并调用函数prime(m)判断m是否为素数。
例:
括号内是说明
输入
4(repeat=4)
12917
输出
NO(1不是素数)
YES(2是素数)
NO(9不是素数)
YES(17是素数)
43.统计素数并求和
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat(0输入2个正整数m和n(1<=m,n<=500),
统计并输出m和n之间的素数的个数以及这些素数的和
(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
要求定义并调用函数prime(m)判断m是否为素数。
例:
括号内是说明
输入:
3(repeat=3)
110(m=1,n=10)
2035(m=20,n=35)
1416(m=14,n=16)
输出:
count=4,sum=17(1