搜档网
当前位置:搜档网 › JAVA 练习

JAVA 练习

一、顺序程序设计
1.输入两个整型变量a,b的值,输出a+b,a-b,a*b,a/b,(float)a/b,a%b的结果,要求连同算式一起输出,每个算式占一行。
例:a等于10,b等于5,a+b的结果输成
10+5=15
2.输入一个非负数,计算以这个数为半径的圆周长和面积。
3.输入任意一个三位数,将其各位数字反序输出(例如输入123,输出321).
4.输入任意大小的三个整数,判断其中是否有两个奇数一个偶数。若是,则输出“YES”,不是则输出“NOT” (要求用条件表达式进行判断,不使用if语句)
5.求前驱字符和后继字符。输入一个字符,找出它的前驱字符和后继字符,并按ASCII码值,按从大到小的顺序输出这三个字符及其对应的ASCII码值。
6.试用彩色文本定位输出。(实例4,5)
7.输入三角形的边长,求三角形面积。(面积=sqrt(s(s-a)(s-b)(s-c)), s=(a+b+c)/2)

二、分支和循环程序设计
1.输入两个字符,若这两个字符之差为偶数,则输出它们的后继字符,否则输出它们的前趋字符。这里的前趋和后继是指输入的两个字符中,较小字符前面的和较大字符后面的那个字符。
2.输入整数a和b,如果a 能被b整除,就输出算式和商,否则输出算式、整数商和余数。
3.输入某个点A的平面坐标(x,y),判断(输出)A点是在圆内、圆外还是在圆周上,其中圆心从标为(2,2),半径为1 。
4.输入年号和月份,输出这一年的该月的天数。 (一个年份,先判断是否闰年)
5.输出9*9乘法表。
6.求爱因斯坦数学题。有一条长阶,若每步跨2阶,则最后剩余1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨6阶,则最后剩5阶;若每步跨7步,最后正好一阶不剩。
7.输入一串字符,直到输入一个星号(*)为止,统计(输出)其中的字母个数和数字字符个数。
8.计算斐波那契分数序列前n项之和(n是某个常数).( 2/1,3/2,5/3,8/5,13/8,21/13,...... 前一项的分子作为后一项的分母。前一项的分分母和作为后一项的分母。)。
9.输入一个正整数,各输出n行的正(倒)三角形宝塔图案.
10.输出2---n之间的所有素数(即质数).
11.从键盘输入一个正整数n,编程判断这个数是否同时含有奇数字和偶数字。
12.输入一个正整数,判断其中各位数字是否奇偶数交替出现。是,输出"YES",不是输出"NOT"。(例:2134和1038都是奇偶数交替出现;而22345不是.)
13.设某县2000年工业总产值为200亿元,如果该县预计平均年工业总产值增长率为4.5%,那么多少年后该县年工业总产值将超500亿元?
14.输入一个三位数,判断是否是一个“水仙花数”。水仙花数是指三位数的各位数字的立方和等于这个三位数本身。例如: 153=1*1*1+5*5*5+3*3*3
15.输出1-999中能被3整除,而且

到少有一位数字是5的所有数字。
16.输入一串字符,直到输入一个星号为止,统计(输出)其中的正整数和负数个数,以及所有正整数的平均值和所有负数的平均值。
17.一个整数等于该数所有因子之和,则称该数是一个完数。例如:6和28都是完数。因为:6=1+2+3,28=1+2+4+7+14. 输出三位数中所有完数。

三、数组的应用
1. 设数组int a[N]的元素全不相等,求出a中最大元素和次大元素.
2. 输入10个数,将10个整数按生序排列输出,并且奇数在前,偶数在后。如果输入的10个数是:10 9 8 7 6 5 4 3 2 1 ,则输出:1 3 5 7 8 2 4 6 8 10。(编程提示:可利用2个数组变量,一个用来存放输入的整数,输入后,对这个数组进行排序,然后将数据复制到另一个数组中,先复制奇数再复制偶数)。
3.将数组a[n]的每一个元素依次循环向后移动一位。
4.将输入数组a[n]中的n个元素,再输入另一个数x,查看a中是否有值为x的元素,若有,则输出其下标,若没有,则输出-1。
5. 编写一个程序,其功能是给一维数组a输入任意6个整数,假设为:5 7 4 8 9 1,然后建立一个具有以下内容的方陈,并打印出来(屏幕输出)。
5 7 4 8 9 1
1 5 7 4 8 9
9 1 5 7 4 8
8 9 1 5 7 4
4 8 9 1 5 7
7 4 8 9 1 5
6.求数组int a[n]中奇数的个数和平均值,以及偶数个数和平均值。
7.统计输入的一串字符(“假设以‘\n’结束”)中,大写字母A,B,...,Z各出现的次数。
(提示,用一个数组count[26]计数各个字母出现的次数,count[0]表示A出现的次数,count[1]表示B出现的次数,...,count[25]表示字母Z出现的次数。初始时count的各元素值为0。以后,每读入一个字符ch ,若它是一个大写字母,就让相应计数单元count[ch-'A']加1。)
8.将一个正整数n(长整型)输出成“千分位”形式,即从个位数起,每三位之间加一个逗号,例如,将7654321输出成7,654,321.
(提示:需要先将n拆成一位一位的数字,然后再输出。然后,拆数时,只能从个位数拆起,而输出时,又得从高位数起输出,所以不得不将拆出的数字存放在一个数组中,然后再输出.
while(n){ digit[++i]=n%BASE; n/=BASE;} )
9.编制一个计算两个矩阵乘积的通用程序。
10.输入两串字符(假定不输入大写字母),每串以“&”结束,(1)输出在任一串中至少出现一次的字母。
((2)输出在两个串中的任一串中重复出现过的字母,(3)输出在两个串中都出现的字母。)
11.录入一段英文文章(存放在字符数组a[n]中),统计其中的单词个数,并按照单词长度由小到大次序输出各个单词。假定这段文章不超过1000个字符,单词不超过240个。请自我设计录入结束条件。
12.求出数组 int a[M][N]每行元素的平均值和平均最大

的行号。
13.求A[M][N]与B[M][N]两矩阵的和矩阵C[M][N]和差矩阵D[M][N].(矩阵的值由键盘输入)

四、函数编程:
1.编写函数getmax,它带有3个int 型参数a,b,c,返回a,b,c这三个数的最大值。 在main函数调用这个函数。
2.定义一个全局数组变量,定义函数getdata,负责向这个数组中输入数据;一个函数sort,负责将这个数组中的数据按降序排序。主函数先调用getdatat和sort函数,输出这个数组变量中全部单元的值。
3.编写一个判断一个数是否是素数的函数,若是返回1,否则返回0。在main函数调用这个函数。
4.编写一个函数,返回某个字符在某个字符串中出现的次数。在main函数调用这个函数。
5.编写一个函数,找出数a[n]中最大元素和最小元素所在的下标,并返回给主调函数。在main函数调用这个函数。
6.编写一个函数,找出数A[m][n]中最大元素和最小元素所在的行列号,并返回给主调函数。在main函数调用这个函数。
7.编写一个过程,统计一个字符串中共有多少个大写字母,多少个小写字母,多少个数字,多少个其它字符,将统计结果返回给主调函数。在main函数调用这个函数。
8.编写一个函数,计算下面算式前100项之和,并将计算结果返回到主调函数。
1+1/3+1/5+1/7+......在main函数调用这个函数。
9.编写一个函数,使给定的一个二维数组(3*3)转置,即行列互换.(指定的二维数组可由主程序输入,转置后输出) 在main函数调用这个函数。
10.给出年、月、日,计算该日是该年的第几天?在main函数调用这个函数。
11.编写一个函数,输入一行字符,将此字符串中最长的单词输出。在main函数调用这个函数。

相关主题