没有合适的资源?快使用搜索试试~ 我知道了~
首页50道JAVA基础编程训练+答案(全)
50道JAVA基础编程训练+答案(全)
需积分: 50 34 下载量 40 浏览量
更新于2023-03-16
评论 7
收藏 631KB DOC 举报
兔子问题、素数、水仙花数、正整数分解质因数、成绩等级划分、最大公约数和最小公倍数、统计字符串中字母、空格、数字和其它字符的个数、s=a+aa+aaa+aaaa+aa...a、完数、球反弹、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数、输入某年某月某日,判断这一天是这一年的第几天、9*9口诀、猴子吃桃问题、两个乒乓球队组队、菱形、2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和、求200!大数阶乘、回文数、矩阵对角线元素之和、现输入一个数,要求按原来的规律将它插入数组中、杨辉三角形、字符串比较、809*??=800*??+9*??+1、0—7所能组成的奇数个数、一个偶数总能表示为两个素数之和、判断一个整数能被几个9整除、读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*、计算字符串中子串出现的次数、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换、有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
资源详情
资源评论
资源推荐
道 基础编程训练
【程序 】
题目:古典问题:有一对兔子,从出生后第 个月起每个月都生一对兔子,小兔子长到第三个月后每个月
又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
程序分析:兔子的规律为数列
解答:
(方法一)
利用数学分析可得知:这个月的兔子数量为前两个月的兔子数量之和,推导过程如下:
,
,
,
,
,
,
:表示一个月大的兔子;
表示两个月大的兔子;
表示三个月及三月以上的兔子。
有以下数学表达式:
,
,
,
,
因此上面每个月的兔子的数量满足斐波那契数列。编程实现较为简单,此处省略。
(方法二)
方法二利用编程实现,具有一般性(开始兔子个数和产仔周期可自行输入),程序设计如下:
【程序 】
题目:判断 之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除 到 这个数,如果能被整除,
则表明此数不是素数,反之是素数。
解答:
程序如下:
【程序 】
题目:打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例
如:
是一个水仙花数,因为 的三次方+ 的三次方+ 的三次方。
程序分析:利用 循环控制 个数,每个数分解出个位,十位,百位。
解答:
程序如下:
【程序 】
题目:将一个正整数分解质因数。例如:输入 打印出 。
解答:
分析:对 进行分解质因数,应先找到一个最小的质数 ,然后按下述步骤完成:
如果这个质数恰等于 ,则说明分解质因数的过程已经结束,打印出即可。
如果 ! ,但 能被 整除,则应打印出 的值,并用 除以 的商作为新的正整数你 重复执行第一
步。
如果 不能被 整除,则用 作为 的值重复执行第一步。
【程序 】
题目:利用条件运算符的嵌套来完成此题:学习成绩! 分的同学用 表示," 分之间的用 # 表示,
" 分以下的用 $ 表示。
解答:
【程序 "】
题目:输入两个正整数 % 和 ,求其最大公约数和最小公倍数。
&求最大公约数!
算法(1)设计:
E0.[确保 mError: Reference source not foundn] 若 mError: Reference source not foundn,则
mError: Reference source not foundn。
E1.[求余数] 以 n 除 m 并令 r 为所得余数。(我们将有 0Error: Reference source not foundrError:
Reference source not foundn。)
E2.[余数为 0?] 若 r 为 0,算法结束,n 即为所求答案。
E3.[减少] 置 mError: Reference source not foundn,nError: Reference source not foundr,并
返回步骤 E1。
数学证明:
(1) 若 m%n=0,则 n 为所求最大公因子
(2) 若 m%nError: Reference source not found0,则只需证明下面命题成立
如果某数是 n 与 m%n 的最大公因子,则这个数也是 m 和 n 的最大公因子。(上面算法可化为这
句话)
证明:
假设 a 是 n 和 m%n 的最大公因子,则有:
因 有 (m%n)%a=0 , 故 可 设 m
%n=k*a , k 为 正 整 数 。 又 n
%a=0,故可设 n=p*a,p 也为正整数。
可得数学表达式:m=t*n+m%n,其中 t 为不小于 0 的整数。
因此有:m=t*p*a+k*a=(t*p+k)*a,因此可得 m%a=0
因此有如下两个表达式:
a 为 m 和 n 的公因子已经证毕。
如何确定 a 为 m 和 n 的最大公因子
(可用反证法证明)
证明:
假设 m 和 n 存在公因子 b,且有 b>a。
则有:
可以仿照上面的推导过程得出:
则 b 也是 n 和 m%n 的公因子,
又 b>a,与 a 是 n 和 m%n 的最大
公因子矛盾。
综上,如果某数是 n 与 m%n 的最大公因子,则这个数也是 m 和 n 的最大公因子。
(3) 证毕。
对步骤 E0 的分析:
若 m<n ,则 m%n=m 。 当 进行 E0 后 , m 为 较 大者, m%nError: Reference source not
foundn。
算法(2)设计:
余数 以 除 ,并令 为余数。
它是 如果 ,则此算法以 为答案而终止。
余数 以 除 ,并令 是余数。
它是 如果 ,则算法以答案 而终止,否则返回步骤 。
算法(2)可仿照算法(1)进行证明
<求最大公倍数>
算法设计:
F1:求出 % 和 的较大者,令较大者为 %,较小者为 。
':判断 % 能否被 整除,若能则 % 为两者最小公倍数。
':将 分解因式。
':将 % 依次乘以 的因子,判断乘积能否被 整除,若能则乘积为两者最小公倍数。
根据上面的算法,程序如下:
【程序 (】
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
解答:
这题需要对汉字的内码进行一定的了解,汉字占两个字节,每个字节的开始位为 。程序如下:
【程序 】
题目:求 ))))))))))))) 的值,其中 ) 是一个数字。例如 此时共有
个数相加,几个数相加有键盘控制。
解答:
在此题中,利用进行字符串运算的“”运算符,然后将字符串转为数字,实现了程序过程,程序设计如下:
【程序 】
题目:一个数如果恰好等于它的因子之和,这个数就称为 完数。例如 "++编程找出 以内的
所有完数。
解答:
根据题目意思,设计程序如下:
【程序 】
题目:一球从 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 次落地时,
共经过多少米?第 次反弹多高?
解答:
此题较为简单,程序设计如下:
【程序 】
题目:有 、、、 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
解答:
理解好排列组合,可设计程序如下:
满足条件的三位数是:
234
243
324
342
423
432
134
143
314
341
413
431
124
142
214
241
412
421
123
132
213
231
312
321
【程序 】
题目:企业发放的奖金根据利润提成。利润*低于或等于 万元时,奖金可提 +;利润高于 万元,
低于 万元时,低于 万元的部分按 +提成,高于 万元的部分,可可提成 (+; 万到 万之
间时,高于 万元的部分,可提成 +; 万到 " 万之间时高于 万元的部分,可提成 +;" 万到
万之间时,高于 " 万元的部分,可提成 +,高于 万元时,超过 万元的部分按 +提成,
从键盘输入当月利润 *,求应发放奖金总数?
解答:
此题较为简单,注意定义时需把奖金定义成长整型。程序设计如下:
【程序 】
题目:一个整数,它加上 后是一个完全平方数,再加上 " 又是一个完全平方数,请问该数是多少?
解答:
可先对问题进行适当分析,分析情况如下:
假设整数为 ,第一个完全平方数为 ,,第二个完全平方数为 -,则有下面的关系式。
,
"-
将两个式子相减,再进行适当的数学变形可得:-,-,"
得出可被 " 整除的数(前面已经编程实现),令 -,,-,。
则有 -.(- 需为正整数),则有 --"。则可得出答案。
程序设计如下:(一般性程序,两个数可以自己输入)
【程序 】
题目:输入某年某月某日,判断这一天是这一年的第几天?
解答:
闰年的判断,可根据以下三点进行判断。
1、普通年能被 4 整除且不能被 100 整除的为闰年。(如 2004 年就是闰年,1900 年不是闰年)
2、世纪年能被 400 整除的是闰年。(如 2000 年是闰年,1900 年不是闰年)
3、对于数值很大的年份,这年如果能整除 3200,并且能整除 172800 则是闰年。如 172800 年是闰
年,86400 年不是闰年(因为虽然能整除 3200,但不能整除 172800)
分析:利用 类中 进行数据的读取,由于是连续输入而且输入中有汉字,故这种方法不行 。
程序设计需要改进,现利用 isDigit 方法进行程序设计,达到了较为理想的结果,程序如下所示。
(此程序中 有一 段代码是对字符串中的数字 进行 提取,如 年 月 日提取三个数 字分 别为:
、、)
输入日期:年月日
年月日是这一年的第天。
输入日期: !
! 是这一年的第 ! 天。
【程序 】
题目:输入三个整数 /01,请把这三个数由小到大输出。
解答:
利用 类中 进行数据的读取,"#sort进行排序,程序设计如下:
【程序 "】
题目:输出 口诀。
程序分析:分行与列考虑,共 行 列,2 控制行,3 控制列。
解答:
此题较为简单,程序设计如下:
【程序 (】
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上
又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 天早
上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
解答:
分析:采取逆向思维的方法,从后往前推断。
【程序 】
题目:两个乒乓球队进行比赛,各出三人。甲队为 )45 三人,乙队为 /01 三人。已抽签决定比赛名单。
有人向队员打听比赛的名单。) 说他不和 / 比,5 说他不和 /1 比,请编程序找出三队赛手的名单。
解答:
分析:
其实问题可转化为排列组合问题,) 可以选 /01 中的一个,4 可以选剩下两个中的一个,而 5 只能选最后
剩下的一个,总共有 " 中可能。关于排列的实现可以参照程序 ,具体程序如下:
$ % &
a(vs)z b(vs)x c(vs)y
【程序 】
题目:打印出如下图案(菱形)
666
66
6
6
剩余44页未读,继续阅读
120caj
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0