java一级实践课题素材_第1页
java一级实践课题素材_第2页
java一级实践课题素材_第3页
java一级实践课题素材_第4页
java一级实践课题素材_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.从键盘输入 5 个整数,输出其中最大数。 2.已知一个等腰三角形的周长为 100,面积为 500,求该三角形的边长? 3.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等 于该数本身。例如:153 是一个“水仙花数”,因为 153=1*1*15*5*53*3*3 4.在屏幕上用”*”打印输出如下等腰梯形(要求使用控制语句完成) * * * * 5.求以下表达式的值(要求使用控制语句完成): 1-2+3-4+999 6.在屏幕上输出如下所示数列:1 1 2 3 5 8 13 21an(an=M,这里 Sn=A1+A2+.+An,并依次把 n 值存入数组单元 b0,b1和 b2中,请编 制函数来实现此功能,最后调用函数把数组 b中的值输出 . 24.求 n 以内(不包括 n)同时能被 3 和 7 整数的所有自然数之和的平方根 s,并作为函数 值返回,最后结果 s 输出。 25.请编写函数,它的功能是:求出 1 到 1000 之内能被 7 或 11 整除但不能同时被 7 和 11 整除的所有整数放在数组 a 中,并通过 n 返回这些数的个数。 26.寻找并输出 11 至 999 之间的数 m,它满足 m,m2 和 m3 均为回文数。所谓回文数是指其 各位数字左右对称的整数,例如 121,676,94249 等。满足上述条件的数如 m=11,m2=121,m3=1331 皆为回文数。请编制函数实现此功能,如果是回文数,则函数返回 1,反之则返回 0。最后把结果输出。 27.键盘上任意输入一个十进制整数,请编制函数,将该整数转换成二进制数并把已转换的 二进制数存放在字符串数组 x 中,最后调用函数把结果输出。 28.用一个数组来存放一个 16 进制数,并将该 16 进制数转换为二进制后存入该数组中,最 后输出。 29.设有 n 个人围坐一圈并按顺时针方向从 1 到 n 编号,从第 s 个人开始进行 1 到 m 的报数, 报数到第个 m 人,此人出圈,再从他的下一个人重新开始 1 到 m 的报数,如此进行下去 直到所有的人都出圈为止。现要求按出圈次序,每 10 人一组,输出这 n 个人的顺序表在控 制台。 30.读取一篇英文文章存入到字符串数组 x 中,请编制函数,其功能是:以行为单位对行中 以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号) 仍按行重新存入字符串数组 x 中,最后调用函数把结果 x 输出。 例如:原文: You ,He , Me。 I am a student。 结果:Me He You student a am I 31.已知学生的记录由学号和学习成绩构成,N 名学生的数据已存入 a 数组中。找出成绩最 低的学生记录(假定最低成绩的记录是唯一的 )并输出。 32.在键盘上任意输入一个字符串,该字符串全部由英文字母组成,把字符串中的最后一个 字符的 ASCII 值右移 4 位后加最后第二个字符的 ASCII 值,得到最后一个新的字符,最后 第二个字符的 ASCII 值右移 4 位后加最后第三个字符的 ASCII 值,得到最后第二个新的字 符,依此类推一直处理到第二个字符,第一个字符的 ASCII 值加原最后一个字符的 ASCII 值,得到第一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后已处理 的字符串仍存入字符串数组 x 中,最后把结果 x 输出。 33.求出 10000 以内千位数上的数加百位数等于十位数上的数加个位数上的数的个数 cn,再 求出所有满足此条件的四位数平均值 pjz1,以及不满足此条件的四位数平均值 pjz2,最后 调用函数把结果输出。 34.求出 10000 以内千位数上的数减百位数减十位数上的数减个位数上的数大于零的个数 cnt,再求出所有满足此条件的四位数平均值 pjz1,以及不满足此条件的四位数平均值 pjz2,最后调用函数把结果输出。 35.求出 10000 以内所有四位数是素数的个数 cnt,再把所有满足此条件的四位数依次存入 数组 b 中,然后对数组 b 的四位数按从小到大的顺序进行排序,最后把结果输出。 36.求出 10000 以内个位数上的数减千位数上的数减百位数上的数减十位数上的数大于零的 个数 cnt,再把所有满足此条件的四位数依次存入数组 b 中,然后对数组 b 的四位数按从大 到小的顺序进行排序,最后调用函数把结果输出。 37.把全部由英文字母组成的一个字符串中的第一个字符的 ASCII 值加 1, 得到第一个新的 字符, 第二个字符的 ASCII 值加 2,得到第二个新的字符, 第三个字符的 ASCII 值加 3,得 到第三个新的字符以,此类推一直处理到最后一个字符,得到最后一个新的字符, 得到的 新字符分别存放在原字符串对应的位置上,之后把已处理的字符串仍重新输出。 38.任意输入一字符串,把字符串中的所有大写字母改写成小写字母, 如果是字母 a, 则改写 成字母 z,其它字符保持不变。把已处理的字符串输出。 39.设 A,B,C 为三个不为零的正整数,计算并输出下列不定方程组解的个数 CN 以及满 足此条件的所有 A,B,C。不定方程组为: A+B+C=13;A-C=5。 40.求出 1 到 1000 之内能被 7 或 11 整除但不能同时被 7 和 11 整除的所有整数放在数组 a 中,并通过 n 返回这些数的个数。 41. 利用如下所示的简单迭代方法求方程:cos(x)-x=0 的一个实根。x n+1=cos(xn)迭代步骤如 下: (1)取 X1 初值为 0.0; (2)X 0=X1,把 X1 的值赋给 X0; (3)X 1=COS(X 0) ,求出一个新的 X1; (4)若 X0-X1 绝对值小 0.000001,执行步骤(5),否则执行步骤(2); (5)所求 X1 就是方程 cos(X)-X=0 的一个实根,作为函数值返回。 请编写函数实现程序的要求,最后调用函数把结果输出到控制台。 42.计算出自然数 m 和 n,它们满足的条件是 m+m+m=n+n 的个数 cn,以及满足此条件所 有的 m 与 n 的和 SUM。请编写函数实现程序的要求,最后调用函数把结果 cn 和 sum 输出 到控制台。 43.求 n 以内(不包括 n)同时能被 3 和 7 整数的所有自然数之和的平方根 s,并作为函数 值返回,最后结果 s 输出到控制台。 44.数组 x 中有 n 个数,求出奇数的个数 cn1 和偶数的个数 cn2 以及数组 x 下标为奇数的元 素值的算术平均值 pj(保留 2 位小数) 。结果 cn1,cn2,pj 输出到控制台。 45.数组 x 中有 n 个数,求出奇数的个数 cn1 和偶数的个数 cn2 以及数组 x 值为奇数的元素 值的算术平均值 pj(保留 2 位小数) 。结果 cn1,cn2,pj 输出到控制台。 46.数组 x 中有 n 个数,求出奇数的个数 cn1 和偶数的个数 cn2 以及数组 x 下标为偶数的元 素值的算术平均值 pj(保留 2 位小数) 。结果 cn1,cn2,pj 输出到控制台。 47.求出 10000 以下符合条件的自然数。条件是:千位数字与百位数字之和等于十位数字与 个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的 10 倍。计算并 输出这些四位自然数的个数 cn 以及这些数的和 sum。 48.数组 a 中存放有任意 10 个 1000 至 9999 之间的数。请编制函数其功能是:要求按每个 数的后三位的大小进行降序排列,然后将排列后顺序数依次存入数组 b 中,如果后三位的 数值相等,则按原先的数值进行升序排列。最后调用函数把结果 b 输出到控制台中。 例:处理前 9012 5099 6012 7025 8088 处理后 5099 8088 7025 6012 9012 49.数组 a 中存有 n 个数,请编制一函数,其功能是: 求出所有这些数是素数的个数 CNT,再求出 所有满足此条件的数的平均值 PJZ1,以及不满足条件的四位数平均值 PJZ2,最后调用函数把 结果 CN,PJZ1,PJZ2 输出到控制台. 50.数组 a 中存放有 n 个数,求出个位数上的数减千位数上的数减百位数上的数减十位数上 的数大于零的个数 CNT,再把所有满足此条件的数平均值 PJZ1,以及不满足条此条件的数平 均值 PJZ2,最后调用函数把结果 CNT 及 PJZ1,PJZ2 输出。 51.字符数组 x 中存有任意一串字符;请编制函数,按给定的替代关系对数组 x 中的所有字 符进行替代,仍存入数组 x 的对应的位置上,最后调用函数把结果 x 输出。 替代关系:f(p)=p*11%256 (p 是数组中某一个字符的 ASCII 值,f(p)是计算后新字符的 ASCII 值),如果原字符的 ASCII 值是偶数或计算后 f(p)值小于等于 32,则该字符不变,否 则将 f(p)所对应的字符进行替代。 52.字符数组 x 中存有任意一串字符;请编制函数,按给定的替代关系对数组 x 中的所有字 符进行替代,仍存入数组 x 的对应的位置上,最后调用函数把结果 x 输出。 替代关系:f(p)=p*11%256 (p 是数组中某一个字符的 ASCII 值,f(p)是计算后新字符的 ASCII 值),如果 f(p)值小于等于 32 或 f(p)对应的字符是数字 0 至 9,则该字符不变,否则 将 f(p)所对应的字符进行替代。 53.字符数组 x 中存有任意一串字符;请编制函数,按给定的替代关系对数组 x 中的所有字 符进行替代,仍存入数组 x 的对应的位置上,最后调用函数把结果 x 输出。 替代关系:f(p)=p*11%256 (p 是数组中某一个字符的 ASCII 值,f(p)是计算后新字符的 ASCII 值),如果计算后 f(p)值小于等于 32 或 f(p)对应的字符是大写字母,则该字符不变, 否则将 f(p)所对应的字符进行替代。 54.字符数组 x 中存有任意一串字符;请编制函数,按给定的替代关系对数组 x 中的所有字 符进行替代,仍存入数组 x 的对应的位置上,最后调用函数把结果 x 输出。 替代关系:f(p)=p*11%256 (p 是数组中某一个字符的 ASCII 值,f(p)是计算后新字符的 ASCII 值),如果计算后 f(p)值小于等于 32 或其 ASCII 值是偶数,则该字符不变,否则将 f(p)所对应的字符进行替代。 55.字符数组 x 中存有任意一串字符;串中的所有小写字母改写成该字母的上一个字母,如 果是字母 a,则改写成字母 z。大写字母仍为大写字母,小写字母仍为小写字母,其他字符 不变。最后把已处理的字符串仍重新存入字符数组 x 中,最后调用函数把结果输出到控制 台中。 56.字符数组 x 中存有任意一串字符;串中的所有小写字母改写成大写字母,如果是大写字 母改为小写字母,其他字符不变。最后把已处理的字符串仍重新存入字符数组 x 中,最后 调用函数把结果输出到控制台中。 57.求出 100 以上 1000 以内所有个位数字与十位数字之和被 10 除所得余数恰是百位数字的 素数(如 293) 。计算并输出上述这些素数的个数 CNT 以及这些素数值的和 SUM。请编写 函数实现程序要求,最后调用函数把结果 CNT 和 SUM 输出到控制台中. 58.将一正整数序列K1,K2,.,K9重新排列成一个新的序列。新序列中,比 K1 小的数都在 K1 的前面(左面),比 K1 大的数都在 K1 的后面( 右面)。要求编写函数实现此功能,最后调 用函数将新序列输出控制台。 例:序列 6,8,9,1,2,5,4,7,3 经重排后成为3,4,5,2,1,6,8,9,7 59.数组 x 中存入一字符串,请编制函数,分别删除其中的空格、标点以及字符的所在下标为 奇数的字符,余下的字符串重新存放入数组 x 中输出. 60.数组 x 中存有一字符串,请编制函数,以该字符的 ASCII 值得大小把该字符串从大到小进 行排序,结果仍按行重新存入 x 中。 61.已知一个矩形的周长为 100,面积为 300,求该矩形的边长? 62.在屏幕上用”*”打印输出如下等腰梯形(要求使用控制语句完成) * * * * * 63.用一个数组来存放一个 8 进制数,并将该 8 进制数转换为 16 进制后存入该数组中,最 后输出。 64.数组 x 中存有一字符串,请编制函数,把所有字符的 ASCII 码值减 4,如果减 4 后,其字 符的 ASCII 值小于等于 32 或大于 100,则原字符保持不变,否则减 4 后的字符的 ASCII 码 值加上原字符的 ASCII 码值,得到的新字符仍存入原字符对应的位置上。最后将数组 x 输出。 65.数组 x 中存有一字符串,请编制函数,把字符串中所有小写字母改写成它的上一个字母, 其它字符不变,如果是a则改成z,处理后的字符仍存入原字符对应的位置上,最后输出 x。 66.数组 x 中存有 20 个四位整数,请编制函数,求出正整数的个数 tn。以及各位数字之和 是偶数的数的个数 tc,以及满足条件的这些数的算术平均 ta.,将 tn,tc,ta 在控制台输出。 67.数组 x 中存有 20 个四位整数,请编制函数,求出正整数的个数 tn。以及百位数字大于 十位数字数的个数 tc,以及满足条件的这些数的算术平均 ta.,将 tn,tc,ta 在控制台输出。 68.哥德巴赫猜想之一是任何一个大于 5 的偶数都可以表示为两个素数之和。验证这一论断。 69.用牛顿迭代法求方程 2x3+4x2-7x-6=0 在 x=1.5 附近的根。 70.编程序求 210000 以内的完全数(一个数的因子(除了这个数本身)之和等于该数本 身) 71.编一递归函数求 xn 72.求出 10000 以内个位数上的数加千位数上的数减百位数上的数与十位数上的数之和大于 零的个数 cnt,再把所有满足此条件的四位数依次存入数组 b 中,然后对数组 b 的四位数按 从大到小的顺序进行排序,最后调用函数把结果输出。 73.在屏幕上用”*”打印输出如下平行四边形(要求使用控制语句完成) * * * * * * * * * 74.将一正整数序列K1,K2,.,K9重新排列成一个新的序列。新序列中,比 K1 大的数都在 K1 的前面(左面),比 K1 小的数都在 K1 的后面( 右面)。要求编写函数实现此功能,最后调 用函数将新序列输出控制台。 例:序列 6,8,9,1,2,5,4,7,3 经重排后成为8,9,7,6, 3,4,5,2,1 75.将一个 10 进制数转化为二进制数后存入数组中输出。 76.求两个距阵相乘的结果:距阵乘法法则如下仅当一个 mn 矩阵 A 的列数与另一个 qp 矩阵 B 的行数相同时(即 n = q) ,才可以执行矩阵乘法 A*B。A*B 所得到的 mp 矩阵 C 满足以下关系: 77.写程序实现将一个数组中指定的元素删除,如对于数组1,3,5,3,8,9, 删除其中所有的元素 值为 3 的元素后的数组输出。 78.从键盘输入有 n 个元素的一个数组,要求打印出这个数组中所有数的平均值 pjz 以及数 组中所有比这个平均值大的数。 79.在控制台上打印输出如下图形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 80.计算 1/3+3/5+5/7+.+97/99 的和(分别用 for,while 和 do while 来实现) 81 写程序求 1!+2!+3 !+.+30!的合并显示,要求使用方法完成。 82 定义一个由整数组成的数组,要求求出其中的奇数个数和偶数个数。 83 现在有如下的一个数组: int oldArr=1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5; 要求将以上数组中值为 0 的去掉,将不为 0 的值存入一个新的数组,生成的新数组为: int newArr=1,3,4,5,6,6,5,4,7,6,7,5; 84 定义一个整型数组,求出数组元素的和,数组元素的最大值和最小值,并输出所求的结 果。 85 给出 10 个整数(int 型) ,然后任意查询一个数字是否存在在该 10 个数字内。 86 定义一个包含 10 个元素的数组,对其进行赋值,使每个元素的值等于其下标,然后输 出,最后将这个数组倒置(即首尾交换)后输出。 87 给出 10 个老师的打分,对 10 个老师的打分找到最高分和最低分。 88 有 30 个 09 之间的数字,分别统计 09 这 10 个数字分别出现了多少次。 89 定义一个整型数组,保存 10 个数据,利用程序完成将最大值保存在数组中第 1 元素的 操作。 90、在排序好的数组中添加一个数字,将添加后的数字插入到数组合适的位置。 91、编写 Java 程序,求 13-23+33-43-+973-983+993-1003 的值。 92 编写一个程序,实现两个数字的交换。 93 给定 3 个数字,求出这三个数字钟的最大值,并将最大值输出。 94 求 11000 之间可以同时被 3、5、7 整除的数字。 95、字符串操作: (1) 、从字符串中“Java 技术学习班 20070326”中提取开班日期。 (2) 、将MLDNJAVA中的JAVA替换为J2EE 。 (3) 、取出Java 技术学习班 20070326中的第 8 个字符。 (4) 、清除Java 技术学习班 20070326中的所有 0; (5) 、清除Java 技术学习班 20070326 MLDN 老师 中的所有空格。 (6) 、从任意给定的身份证号码中提取出此人的出生日期。 96、构造一个银行账户类,类的组成包含如下内容: (1) 、数据成员用户的账户名称、用户的账户余额(private 数据类型) 。 (2) 、方法包括开户(设置账户名称及余额) ,利用构造方法完成。 (3) 、查询余额。 97、编写程序,统计出字符串“want you to know one thing”中的字母 n 和字母 o 的出现次 数。 98、定义并测试一个代表员工的 Employee 类。员工属性包括“编号” 、 “姓名” 、 “基本薪 水” 、 “薪水增长额” ,还包括计算薪水增长额及计算增长后的工资总额的操作方法。 99、设计一个表示用户的 User 类,类中的变量有用户名、口令和记录用户个数的变量,定 义类的三个构造方法(无参、为用户名赋值、为用户名和口令赋值) 、获取和设置口令 的方法、返回类的信息的方法。 100、写程序产生一百个 09 之间的随机整数,然后统计并输出每个整数出现的次数。 101、写程序读入 10 个整数,输出这 10 个整数,如果某整数出现多次,那么只能输出一次, 例如读入 1、2、2、3、3、2、2、1、1、3 十个整数,其输出结果应为:1、2、3。 102、写方法实现两个二维数组的加法运算。 103、写方法返回一个整数数组中最小值的位置。 104、写程序计算一个二维数组中位于由左至右对角线上的所有元素的和。 105、定义类 Shape,用来表示一般二维图形。Shape 具有抽象方法 area()和 perimeter(),分 别用来计算形状的面积和周长,试定义一些二维形状类(如矩形,三角形,原形,椭 圆形等) ,这些类均为 Shape 的子类。 106、建立一个人类(Person )和学生类(Student ) ,功能要求如下: (1) 、Person 类中包含 4 个私有的数据成员 name,addr,sex,age ,分别为字符串型、 字符串型、字符型及整型,用一个 4 参构造方法、一个两参构造方法、一个无参构造 方法、一个输出方法显示 4 中属性。 (2) 、Student 类继承 Person 类,并增加成员 Math、english 存放数学和英语成绩。一个 6 参构造方法、一个两参构造方法、一个无参构造方法和重写输出方法用于显示 6 种 属性。 107、声明一个图书类 Book,其数据成员为书名、编号(利用静态变量实现自动编号) 、书 价,并拥有静态数据成员册数、记录图书的总册数,在构造方法中利用此静态变量为 对象的编号赋值,在主方法中定义对象数组,并求出总册数。 108、哥德巴赫猜想的近似证明 哥德巴赫猜想是说任何一个大于 2 的偶数都可能表示为两个素数之和。请编写一个 Java 程序,验证 1100 内哥德巴赫猜想的正确性,也就是近似证明了哥德巴赫猜想。 试题分析: 可以应用枚举的方法列出 1100 内的所有偶数。然后逐一验证每个偶数是否满足哥 德巴赫猜想的论证。如果有一个不符合,就意味着哥德巴赫猜想不成立。 一个正偶数 m 可以表示成 m=1+(m-1),m=2+(m-2),m=3+(m-3) , , m=m/2+m/2。由于 m/2 的后半部分和前半部分的结果是一样的,只是加数顺序 不同,所以可以忽略。 109、爱因斯坦的阶梯问题 爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,每步上 2 阶,最后剩 1 阶;若 每步上 3 阶,最后剩 2 阶;若每步上 5 阶,最后剩 4 阶;若每步上 6 阶,最后剩 5 阶; 只有每步上 7 阶,最后一阶也不剩。请问该阶梯至少有多少阶。编写一个 Java 程序解 决该问题。 从上面的描述中,可以把这个问题用数学方程式的形式表达出来,代码如下: 1. x%2=1 2. x%3=2 3. x%5=4 4. x%6=5 5. x%7=0 从上面的表达式中不难看出,此方程 x 的解应该有无穷个,但这里要求的是那个最小的 解。这个解一定是 7 的倍数,因为 x%7=0,因此就用 7 的倍数依次与 2、3、5、6 进行 取模运算,如果都符合了上面表达式的条件,那么这个数就是本题的答案。 110、试利用 dowhile 循环,计算 1!+2!+100!的总和。 111、假设有一条绳子长 3000 米,每天剪去一半,请问需要花费几天时间,绳子的长度会 短于 5 米。 112、地球的半径为 6400 公里,假设地球上跑得最快的长跑健将可以用 9.8 秒跑完 100 米, 那么他用这个速度绕地球跑一圈,需要几天的时间。 113、Fabonacci 数列的第一项是 0,第二项是 1,以后各项都是前两项的和,编写方法求 第 n 项的值。 114、从键盘输入 10 个整数,放入一个一维数组,然后将前 5 个元素与后 5 个元素对换, 即将第一个元素和第十个元素互换,第二个元素和第九个元素互换,以此类推。 115、建立一个 M 行 N 列的矩阵,找出其中最小的元素所在的行和列,并输出该值及其行, 列的位置。 116、实际矩阵转置,即将矩阵的行、列互换,一个 m 行 n 列的矩阵转换成 n 行 m 列。 117、编写一个应用三维数组的程序。 118、请编写一个程序,让它含有一个方法来创建和返回一个 int 型数组,这个数组含有前 n,个平方数,其中 n 是这个方法的变元。请使用 n=10 调用这个方法,已验证这个方 法,这个程序应该按降序打印每个构件的索引和值。 119、某机构 2006 年培训学员 8 万人,每年增长 25%,请问按此增长速度,到哪一年培训 学员人数会达到 20 万人。 120、编写一个计数器类,其中包含属性 count 用来保存计算器的当前值,方法 increment(); 用来实现计算器加 1,方法 decrement()用来实现计算器减 1;方法 reset();用来请零。 121、编写一个类,包含一种排序的方法和累计求和的方法、 【程序 1】 题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小 兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 【程序 2】 题目:判断 101-200 之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 【程序 3】 题目:打印出所有的“水仙花数“,所谓“水仙花数“是指一个三位数,其各位数 字立方和等于该数本身。例如: 153 是一个“水仙花数“,因为 153=1 的三次方5 的三次方3 的三次方。 程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。 【程序 4】 题目:将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。 程序分析:对 n 进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成: (1)如果这个质数恰等于 n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果 n=90 分的同学用 A 表示, 60-89 分之间的用 B 表示,60 分以下 的用 C 表示。 1.程序分析:(ab)?a:b 这是条件运算符的基本例子。 【程序 6】 题目:输入两个正整数 m 和 n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。 【程序 7】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个 数。 1.程序分析:利用 while 语句,条件为输入的字符不为n. 【程序 8】 题目:求 s=a+aa+aaa+aaaa+aa.a 的值,其中 a 是一个数字。例如 2+22+222+2222+22222(此时共有 5 个数相加),几个数相加由键盘控制。 1. 程序分析:关键是计算出每一项的值。 【程序 9】 题目:一个数如果恰好等于它的因子之和,这个数就称为“完数“。例如 6=123.编程 找出 1000 以内的所有完数。 import javax.swing.JOptionPane; 【程序 10】 题目:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第 10 次落地时,共经过多 少米?第 10 次反弹多高? public class ziyouluoti public static void main(String args) double sum=100; double k=100; for(int i=2;iy 则将 x 与 y 的值进行交换,然后再用 x 与 z 进行比较,如果 xz 则将 x 与 z 的值进行交换,这样能使 x 最小。 import javax.swing.JOptionPane; public class biJiao public static void main(String args) / TODO 自动生成方法存根 int a=Integer.parseInt(JOptionPane.showInputDialog(“please input a integer“); int b=Integer.parseInt(JOptionPane.showInputDialog(“please input a integer“); int c=Integer.parseInt(JOptionPane.showInputDialog(“please input a integer“); int temp=0; if(ab) temp=b; b=a; a=temp; if(ac) temp=c; c=a; a=temp; if(bc) temp=c; c=b; b=temp; System.out.print(a+“ “+b+“ “+c); 【程序 16】 题目:输出 9*9 口诀。 1.程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列。 【程序 17】题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾, 又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了 前一天剩下的一半零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘 了多少。 1.程序分析:采取逆向思维的方法,从后往前推断。 public class taoZi public static void main(String args) int count=1; for(int i=1;i=1;j-) a*=j; sum+=a; System.out.print(sum); 【程序22】 题目:利用递归方法求5!。 1.程序分析:递归公式:fn=fn_1*4! public class digui public static void main(String args) int sum=1; for(int i=5;i=1;i-) sum*=i; System.out.print(sum); 【程序 23】 题目:有 5 个人坐在一起,问第五个人多少岁?他说比第 4 个人大 2 岁。问 第 4 个人岁数,他说比第 3 个人大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2 个人, 说比第一个人大两岁。最后问第一个人,他说是 10 岁。请问第五个人多大? 1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数, 需知道第四人的岁数, 依次类推,推到第一人(10 岁),再往回推。 public class digui public static void main(String args) int a=10; for(int i=1;i=10) System.out.print(“ “+zuhe(i,j); else System.out.print(“ “+zuhe(i,j); System.out.println(); / 定义一个方法,计算组合 public static int zuhe(int x,int y) int k=1; for(int i=x;ix-y;i-) k*=i; int l=1; for(int i=y;i=1;i-) l*=i; return k/l; 【程序 34】 题目:输入 3 个数 a,b,c,按大小顺序输出。 1.程序分析:利用指针方法。 import javax.swing.JOptionPane; public class Exercise34 public static void main(String args) int a=Integer.parseInt(JOptionPane.showInputDialog(“please input a int “); int b=Integer.parseInt(JOptionPane.showInputDialog(“please input a int “); int c=Integer.parseInt(JOptionPane.showInputDialog(“please input a int “); int array=new int3; array0=a; array1=b; array2=c; for(int i=0;ii;j-) if(arrayjai) k=i; min=ak; int temp; temp=a0; a0=aj; aj=temp; max=aj; temp=ak; ak=aa.length-1; aa.length-1=temp; return a; 【程序36】 题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面 的m个数 public class exercise36 public static void main(String args) / TODO 自动生成方法存根 int a=new int 10; int m=a.length/2; for(int i=0;i=0;j-) aj+1=aj; a0=temp; return a; 【程序 37】 题目:有 n 个人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子,问最后留下 的是原来第几号的那位。 【程序 38】 题目:写一个函数,求一个字符串的长度,在 main 函数中输入字符串,并输 出其长度。 import javax.swing.JOptionPane; public class Exercise38 public static void main(String args) String s=JOptionPane.showInputDialog(“please input a String“); System.out.print(m(s); public static int m(String s) return s.length(); 【程序39】 题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+.+1/n,当输入n 为奇数时,调用函数1/1+1/3+.+1/n(利用指针函数) public class Exercise39 public static void main(String args) / TODO 自动生成方法存根 System.out.print(m(5); public static double m(int n) if(n%2=0) double sum=0; for(int i=1;i=n/2;i+) sum+=1*1.0/(i*2); return sum; else double sum=0; for(int i=0;i=n/2;i+) sum+=(1*1.0)/(2*i+1); return sum; 【程序 40】 题目:字符串排序。 【程序 41】 题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为 五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子 又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、 第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? 【程序 42】 题目:809*?=800*?+9*?+1 其中?代表的两位数,8*?的结果为两位数,9*?的结果为 3 位数。求?代表的两位数,及 809*?后的结果。 【程序 43】 题目:求 07 所能组成的奇数个数。 【程序 44】 题目:一个偶数总能表示为两个素数之和。 【程序 45】 题目:判断一个素数能被几个 9 整除 【程序 46】 题目:两个字符串连接程序 【程序 47】 题目:读取 7 个数(150)的整数值,每读取一个值,程序打印出该值个数 的。 【程序 48】 题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中 是加密的,加密规则如下:每位数字 都加上 5,然后用和除以 10 的余数代替该数字,再将第一位和第四位交换,第二位和第三 位交换。 【程序 49】 题目:计算字符串中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论