JAVA基本程序练习题12.docx

上传人:b****5 文档编号:4599218 上传时间:2022-12-07 格式:DOCX 页数:12 大小:25.30KB
下载 相关 举报
JAVA基本程序练习题12.docx_第1页
第1页 / 共12页
JAVA基本程序练习题12.docx_第2页
第2页 / 共12页
JAVA基本程序练习题12.docx_第3页
第3页 / 共12页
JAVA基本程序练习题12.docx_第4页
第4页 / 共12页
JAVA基本程序练习题12.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

JAVA基本程序练习题12.docx

《JAVA基本程序练习题12.docx》由会员分享,可在线阅读,更多相关《JAVA基本程序练习题12.docx(12页珍藏版)》请在冰豆网上搜索。

JAVA基本程序练习题12.docx

JAVA基本程序练习题12

JAVA基本程序练习题

(一)

【程序1】

题目:

有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?

都是多少?

程序分析:

可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

【程序2】

题目:

企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高   于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

程序分析:

请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

      

【程序3】

题目:

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

程序分析:

在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

【程序4】

题目:

输入某年某月某日,判断这一天是这一年的第几天?

程序分析:

以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

【程序5】

题目:

输入三个整数x,y,z,请把这三个数由小到大输出。

程序分析:

我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

【程序6】

题目:

用*号输出字母C的图案。

程序分析:

可先用'*'号在纸上写出字母C,再分行输出。

【程序8】

题目:

输出9*9口诀。

程序分析:

分行与列考虑,共9行9列,i控制行,j控制列。

【程序9】

题目:

要求输出国际象棋棋盘。

程序分析:

用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。

【程序11】

题目:

古典问题:

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月   后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

程序分析:

 兔子的规律为数列1,1,2,3,5,8,13,21....

【程序12】

题目:

判断101-200之间有多少个素数,并输出所有素数。

程序分析:

判断素数的方法:

用一个数分别去除2到sqrt(这个数),如果能被整除,

      则表明此数不是素数,反之是素数。

      

【程序13】

题目:

打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:

153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

程序分析:

利用for循环控制100-999个数,每个数分解出个位,十位,百位。

【程序14】

题目:

将一个正整数分解质因数。

例如:

输入90,打印出90=2*3*3*5。

程序分析:

对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,

 重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

【程序15】

题目:

利用条件运算符的嵌套来完成此题:

学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

程序分析:

(a>b)?

a:

b这是条件运算符的基本例子。

【程序16】

题目:

输入两个正整数m和n,求其最大公约数和最小公倍数。

程序分析:

利用辗除法。

【程序17】

题目:

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

【程序18】

题目:

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

例如2+22+222+2222+22222(此时

   共有5个数相加),几个数相加有键盘控制。

程序分析:

关键是计算出每一项的值。

【程序19】

题目:

一个数如果恰好等于它的因子之和,这个数就称为“完数”。

例如6=1+2+3.编程

   找出1000以内的所有完数。

【程序20】

题目:

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在

   第10次落地时,共经过多少米?

第10次反弹多高?

【程序21】

题目:

猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个

   第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下

   的一半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘了多少。

程序分析:

采取逆向思维的方法,从后往前推断。

【程序22】

题目:

两个乒乓球队进行比赛,各出三人。

甲队为a,b,c三人,乙队为x,y,z三人。

已抽签决定

   比赛名单。

有人向队员打听比赛的名单。

a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

【程序23】

题目:

打印出如下图案(菱形)

 

*

***

******

********

******

***

*

程序分析:

先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重

      for循环,第一层控制行,第二层控制列。

【程序24】

题目:

有一分数序列:

2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

程序分析:

请抓住分子与分母的变化规律。

【程序25】

题目:

求1+2!

+3!

+...+20!

的和

程序分析:

此程序只是把累加变成了累乘。

【程序26】

题目:

利用递归方法求5!

程序分析:

递归公式:

fn=fn_1*4!

【程序27】

题目:

利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

【程序28】

题目:

有5个人坐在一起,问第五个人多少岁?

他说比第4个人大2岁。

问第4个人岁数,他说比第3个人大2岁。

问第三个人,又说比第2人大两岁。

问第2个人,说比第一个人大两岁。

最后问第一个人,他说是10岁。

请问第五个人多大?

程序分析:

利用递归的方法,递归分为回推和递推两个阶段。

要想知道第五个人岁数,需知道

      第四人的岁数,依次类推,推到第一人(10岁),再往回推。

【程序29】

题目:

给一个不多于5位的正整数,要求:

一、求它是几位数,二、逆序打印出各位数字。

程序分析:

学会分解出每一位数。

【程序30】

题目:

一个5位数,判断它是不是回文数。

即12321是回文数,个位与万位相同,十位与千位相同。

   

程序分析:

同29例

【程序31】

题目:

请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续

   判断第二个字母。

程序分析:

用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。

【程序36】

题目:

求100之内的素数   

【程序37】

题目:

对10个数进行排序

程序分析:

可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,

      下次类推,即用第二个元素与后8个进行比较,并进行交换。

      

【程序38】

题目:

求一个3*3矩阵对角线元素之和

程序分析:

利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。

【程序39】

题目:

有一个已经排好序的数组。

现输入一个数,要求按原来的规律将它插入数组中。

程序分析:

首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后

     此元素之后的数,依次后移一个位置。

【程序40】

题目:

将一个数组逆序输出。

程序分析:

用第一个与最后一个交换。

【程序54】

题目:

取一个整数a从右端开始的4~7位。

程序分析:

可以这样考虑:

(1)先使a右移4位。

(2)设置一个低4位全为1,其余全为0的数。

可用~(~0<<4)

(3)将上面二者进行&运算。

【程序56】

题目:

画一个奥运五环标志,学用circle画圆形。

   

【程序57】

题目:

画一个五角星,学用line画直线。

【程序58】

题目:

画图,学用rectangle画方形。

   

【程序61】

题目:

打印出杨辉三角形(要求打印出10行如下图)   

程序分析:

     1

      1 1

      1 2 1

      1 3 3 1

      1 4 6 4 1

      1 5 10 10 5 1 

【程序66】

题目:

输入3个数a,b,c,按大小顺序输出。

   

【程序67】

题目:

输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

【程序68】

题目:

有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

【程序69】

题目:

有n个人围成一圈,顺序排号。

从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

【程序70】

题目:

写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

   

【程序71】

题目:

编写input()和output()函数输入,输出5个学生的数据记录。

【程序72】

题目:

创建一个链表。

【程序73】

题目:

反向输出一个链表。

   

【程序74】

题目:

连接两个链表。

【程序76】

题目:

编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n。

【程序79】

题目:

字符串排序。

【程序80】

题目:

海滩上有一堆桃子,五只猴子来分。

第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。

第二只猴子把剩下的桃子又平均分成五份,又多了

   一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,

   问海滩上原来最少有多少个桃子?

【程序81】

题目:

809*?

?

=800*?

?

+9*?

?

+1其中?

?

代表的两位数,8*?

?

的结果为两位数,9*?

?

的结果为3位数。

求?

?

代表的两位数,及809*?

?

后的结果。

【程序82】

题目:

八进制转换为十进制

【程序83】

题目:

求0—7所能组成的奇数个数。

【程序84】

题目:

一个偶数总能表示为两个素数之和。

【程序85】

题目:

判断一个素数能被几个9整除

【程序86】

题目:

两个字符串连接程序

【程序88】

题目:

读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。

【程序89】

题目:

某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:

每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

【程序96】

题目:

计算字符串中子串出现的次数

【程序97】

题目:

从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。

【程序98】

题目:

从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。

输入的字符串以!

结束。

【程序99】

题目:

有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。

【程序100】

题目:

有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。

JAVA基本程序练习题

(二)

1、本程序从键盘输入一个5*5整型数组赋值,找出其中的最小值并显示出来。

2、本程序从键盘输入10个整数存入一数组中,然后将该数组中的各元素按ni序存放后显示出来。

3、本程序演示计算一维数组中所有元素的平均值。

4、本程序演示输入100个整型数据,找出其中的最大值并显示出来。

5、本程序演示从键盘输入x的值,计算并打印下列分段函数的值。

y=0(x<60)

y=1(60<=x<70)

y=2(70<=x<80)

y=3(80<=x<90)

y=4(x>=90)

6、本程序演示一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

7、本程序演示输入三个整数x,y,z,请把这三个数由小到大输出。

8、本程序演示输出9*9口诀。

9、本程序演示判断101-200之间有多少个素数,并输出所有素数。

10、本程序演示打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:

153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

11、本程序演示将一个正整数分解质因数。

例如:

输入90,打印出90=2*3*3*5。

12、本程序演示输入两个正整数m和n,求其最大公约数和最小公倍数。

13、本程序演示输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

14、本程序演示一个数如果恰好等于它的因子之和,这个数就称为“完数”。

例如6=1+2+3.编程找出1000以内的所有完数。

15、本程序演示猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘了多少。

16、本程序演示打印出如下图案(菱形)

*

***

******

********

******

***

*

17、本程序演示求1+2!

+3!

+...+20!

的和

18、本程序演示一个5位数,判断它是不是回文数。

即12321是回文数,个位与万位相同,十位与千位相同。

19、本程序演示求100之内的素数  

20、本程序演示对10个数进行排序

21、本程序演示编一个函数fun(Stringstr),函数的功能是把字符串中的内容逆置。

例如:

字符串中原有的内容为:

abcdefg,则调用该函数后,串中的内容为:

gfedcba。

22、本程序演示实现矩阵(3行3列)的转置(即行列互换)。

23、本程序演示编一个函数fun(int*a,intn,int*odd,int*even),函数的功能是分别求出数组中所有奇数之和以及所有偶数之和。

形参n给了数组中数据的个数:

利用指针odd返回奇数之和,利用指针even返回偶数之和。

例如:

数组中的值依次为:

1,8,2,3,11,6;则利用指针odd返回奇数之和24;利用指针even返回偶数之和8。

24、要求程序的功能是:

把20个随机数存入一个数组,然后输出该数组中的最小值。

其中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义。

25、请编一个函数floatfun(doubleh),函数的功能是对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值为正数)。

例如:

h值为8.32433,则函数返回8.32;h值为8.32533,则函数返回8.33。

26、编写函数fun,函数的功能是:

从字符串中删除指定的字符。

同一字母的大、小写按不同字符处理。

例:

若程序执行时,输入字符串为:

turbocandBorlandc++,从键盘上输入字符:

n,则输出后变为:

turbocadborladc++,如果输入的字符串不存在,则字符串照原样输出。

27、请编写一个unsignedfun(unsignedw),w是一个大于10的无符号整数,若w是n(n>=2)位的整数,函数求出w的后n-1位的数作为函数值返回。

例如:

w值为5923,则函数返回923;w值为923则函数返回23。

28、编写函数intfun(intlim,intaa[MAX]),该函数的功能是求出小于lim的所有素数并放在aa数组中,该函数返回所求出素数的个数。

29、请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。

二维数组中的值在主函数中赋予。

30、请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列。

例如,原来的字符串为CEAedca,排序后输出为CedcEAa。

31、请编一函数voidfun(inttt[M][N],intpp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中,二维数组中的数已在主函数中赋予。

32、写一个函数,从传入的num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。

(注意:

用****作为结束输入的标志。

33、请编一个函数fun,其中n所指存储单元中存放了数组中元素的个数。

函数的功能是:

删除所有值为y的元素。

数组元素中的值和y的值由主函数通过健盘读入。

34、编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。

例如,假定输入的字符串为:

asdasasdfgasdaszx67asdmklo,子字符串为:

as,则应输出6。

35、请编写一个函数intfun(intx),它的功能是:

判断整数x是否是同构数。

若是同构数,函数返回1;否则返回0。

所谓“同构数”是指这样的数,它出现在它的平方数的右边。

例如:

输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数。

x的值由主函数从健盘读入,要求不大于100。

36、请编写函数fun,函数的功能是:

在字符串中所有数字字符前加一个$字符。

例如,输入:

A1B23CD45,则输出为:

A$1B$2$3CD$4$5。

37、请编一个函数fun(char*s),函数的功能是把字符串中所有的字符前移一个位置,串中的第一个字符移到最后。

例如:

原有的字符串为:

Mn.123xyZ,则调用该函数后,串中的内容为:

n.123xyZM。

38、请编写函数fun,函数的功能是:

将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。

例如,若输入:

17,则应输出:

9和46891012141516。

39、请编一个函数fun(char*s),函数的功能是把字符串中所有的字母改写成该字母的下一个字母,最后一个字母z改写成字母a。

大写字母仍为大写字母,小写字母仍为小写字母,其他的字符不变。

例如:

原有的字符串为:

Mn.123zyZ,则调用该函数后,串中的内容为:

No.123yzA。

40、请编写函数fun,函数的功能是:

将s所指字符串中、下标为奇数位置上的大写字母转换为字母序列中的下一个小写字母;若该位置上是小写字母,则不转换;若该位置上是大写字母Z,则仅转换成小写字母z。

例如,输入:

ABCdxZZZ,则输出为:

AcCdXzZz。

41、程序定义了N*N的二维数组,并在主函数中赋值。

请编写函数fun,函数的功能是:

给数组周边元素置0值。

42、请编写函数fun,它的功能是:

求出ss所指字符串中、指定字符的个数,并返回此值。

例如:

若输入字符串:

123412132,输入字符为:

1,则输出:

3。

43、程序定义了N*N的二维数组,并在主函数中赋值。

请编写函数fun,函数的功能是:

求出数组周边元素的平均值并作为函数值返回给主函数中的s。

44、编写一个函数fun,它的功能是:

实现两个字符串的连接(不使用库函数strcat)。

例如,分别输入下面两个字符串:

FirstSrting—

SecondString

程序输出:

FirstString—SecondString

45、程序定义了N*N的二维数组,并在主函数中自动赋值。

请编写函数fun(inta[][N]),函数的功能是:

使数组第一列元素中的值与最后一列元素中的值对调、第二列元素的值与倒数第二列中的值对调、……、其他依次类推。

46、请编写函数fun,函数的功能是:

实现B=A+A’,即把矩阵A加上A的转置,存放在矩阵B中。

计算结果在main函数中输出。

47、程序序定义了N*N的二维数组,并在主函数中自动赋值。

请编写函数fun(inta[][N]),函数的功能是:

使数组第一行元素中的值与最后一行元素中的值对调、第二行元素的值与倒数第二行中的值对调、……、其他依次类推。

48、m个人的成绩存放在score数组中,请编写函数fun,它的功能是:

将低于平均分的人数作为函数值返回。

例如,当score数组中的数据为:

10、20、30、40、50、60、70、80、90、时,函数返回的人数应该是4,below中的数据应为:

10、20、30、40。

49、程序定义了N*N的二维数组,并在主函数中自动赋值。

请编写函数fun(inta[][N]),函数的功能是:

使数组左下半三角元素中的值全部置成0。

50、请编写函数fun,经的功能是:

求出1到1000之内能被7或11整除、但不能同时补7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。

51、程序定义了N*N的二维数组,并在主函数中自动赋值。

请编写函数fun(inta[][N]),函数的功能是:

使数组右上半三角元素中的值全部置成0。

52、编写函数voidfun(intx,intpp[],int*n),它的功能是:

求出能整除x且不是偶数的各整数,并放在pp所指的数组中,这些除数的个数通过形参n返回。

例如,若x中的值为:

30,则有4个数符合要求,它们是1,3,5,15。

53、程序定义了N*N的二维数组,并在主函数中自动赋值。

请编写函数fun(inta[][N],intn),函数的功能是:

使数组右上半三角元素中的值乘以m。

54、编写一个函数voidfun(char*tt,intpp[]),统计在tt字符串中’a’到’z’26个字母各自出现的次数,并依次放在pp所指数组中。

例如,当输入字符串:

abcdefgabcdeabc后,程序的输出结果应该是:

33322110000000000000000000

55、程序定义了N*N的二维数组,并在主函数中自动赋值。

请编写函数fun(inta[][N],intn),函数的功能是:

使数组左下半三角元素中的值乘以n。

56、函数fun的功能是:

将两个两位数的整数a、b合并形成一个整数放在c中。

合并的方式是:

将a的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。

例如:

当a=45,b=12。

调用该函数后,c=4251

57、请编写一个函数voidfun(intm,intk,intxx[]),该函数的功能是:

将大于整数m且紧靠m的k个素数存入xx所指的数组中。

例如,若输入17,5,则应输出:

19,23,29,31,37。

58、已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。

请编写函数fun,函数的功能是:

找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。

已给出函数的首部,请完成该函数。

59、请编写一个函数voidfun(chara[],intk,intn),其功能是:

删除字符串中指定下标开始的n个字符。

其中

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 畜牧兽医

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1