程序设计—基础篇习题1.作图.2. 输出101--500之间的所有奇数,奇数之和.3. 输出100--200间不能被3整除的数.4. 输入初值 ,输出100个不能被3整除的数.5. 求S=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)的值.6. 设S=1*2*3*...*n,求S不大于400000时的最大n.7. 设S=11*22*33*...*n n,求S不大于400000时的最大n.8. 找出1~1000间的全部”同构数”.如果一个数出现在其平方数右端,则称此数为同构数,如1在12=1的右端,5在52=25的右端,25在252=625的右端等.9. 百鸡问题。
“鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”10.利用一维数组,统计一个班学生0-9,10-19,..90-99及100各分数段的人数.11.插入法排序.排序方法:设有10个数存放在数组A中,分别用A[1],A[2],..,A[10]表示.先将A[1]与A[2]比较,若A[2]<A[1],则交值这两个元素的值,A[1],A[2]顺序排列.再将A[3]与A[1],A[2]比较,按照顺序确定A[3]应放的位置,A[1],A[2],A[1]顺序排列.依次将后面的数一个一个拿来插入排好序的数列中,直到所有的数按顺序排好.12.2个按升序(从小到大)排列的数列A[1],A[2],....,A[N]和B[1],B[2],...,B[M]中各元素按其大小关系存放到数组c.同时必须注意对数组A或B残余元素的的追加处理。
13.运动员成绩排名.设有一表格记录了10人参加的男子100M决赛成绩,运动员号码和成绩自行确定,设计一程序,将给定的成绩排名输出。
14.知某班学生M(M<100)人,其N(N<4)门课程.度按平均成绩输出学生平均成绩名次表(要求每个学生的信息包括:名次,学号(用整型数),平均成绩等)。
15.设计计一个同学通信录程序,用户名用学号(整型数)表示,并记录每个人电话号码及QQ 号,可以添加,删除查询。
答案:1、(1)public class Ex1_1 {public static void main(String[] args){for(int i=1;i<=4;i++){for(int j=1;j<=12;j++){if(i>j)System.out.print(" ");else if(i<=j&&j-i<=7)System.out.print("*");}System.out.println();}}}(2)public class Ex1_2 {public static void main(String[] args){for(int i=1;i<=5;i++){for(int j=1;j<=16;j++){if(i>j)System.out.print(" ");else if(i<=j&&j-i<=11){if(j-i==9-(i-1)*2||j-i==10-(i-1)*2)System.out.print(" ");elseSystem.out.print("*");}}System.out.println();}}}(3)public class Ex1_3 {public static void main(String[] args){for(int i=1;i<=9;i++){for(int j=1;j<=9;j++){if(j==6-i||j==4+i||j==i-4||j==14-i)System.out.print("*");elseSystem.out.print(" ");}System.out.println();}}}(4)public class Ex1_4 {public static void main(String[] args){for(int i=1;i<=7;i++){for(int j=i;j>=1;j--)System.out.print(j+" ");System.out.println();}}}(5)import java.util.Scanner;public class Ex1_5 {public static void main(String[] args){Scanner in=new Scanner(System.in);System.out.println("input the line number:");int n=in.nextInt();for(int i=1;i<=n;i++){for(int j=1;j<=n-i;j++)System.out.print(" ");for(int k=1;k<i;k++)System.out.print(k+" ");for(int k=i;k>=1;k--)System.out.print(k+" ");System.out.println();}}}(6)public class Ex1_6 {public static void main(String[] args){for(int i=1;i<=6;i++){for(int j=1;j<=6-i;j++)System.out.print(" ");System.out.print("********");for(int j=1;j<=2*i-1;j++)System.out.print(" ");System.out.print("********");System.out.println();}}}(7)import java.util.Scanner;public class Ex1_7 {public static void main(String[] args){Scanner in=new Scanner(System.in);System.out.println("please input the line number:");int n=in.nextInt();int[][] a=new int[n][n];a[0][0]=1;for(int i=1;i<n;i++)for(int j=0;j<n;j++){if(i==j||j==0)a[i][j]=1;elsea[i][j]=a[i-1][j-1]+a[i-1][j];}for(int i=0;i<n;i++){for(int j=1;j<=n-i;j++)System.out.print(" ");for(int k=0;k<n;k++){if(a[i][k]==0)System.out.print("");else if(k==0)System.out.print(a[i][k]+" ");else if(i==k)System.out.print(" "+a[i][k]);elseSystem.out.print(" "+a[i][k]+" ");}System.out.println();}}}2、public class Ex2 {public static void main(String[] args){/*** 输出101--500之间的所有奇数,奇数之和*/int sum=0,j=0;for(int i=101;i<=500;i++){if(i%2!=0){System.out.print(i+" ");j++;sum+=i;if(j%8==0)System.out.println();}}System.out.println(sum);}}3、public class Ex3 {public static void main(String[] args){/*** 输出100--200间不能被3整除的数*/int j=0;for(int i=100;i<=200;i++){if(i%3!=0){System.out.print(i+" ");j++;if(j%10==0)System.out.println();}}}}4、题目要求不明5、import java.util.Scanner;public class Ex5 {public static void main(String[] args){/*** 求S=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)的值*/Scanner in=new Scanner(System.in);System.out.println("please input the n:");int n=in.nextInt();int S=0;for(int i=1;i<=n;i++){for(int j=1;j<=i;j++)S+=j;}System.out.println("S="+S);}}6、public class Ex6 {public static void main(String[] args){/*** 设S=1*2*3*...*n,求S不大于400000时的最大n*/long s=1,i=0;while(s<=400000){i++;s*=i;}System.out.println(i-1);}}7、public class Ex7 {public static void main(String[] args){/*** 设S=(1^1)*(2^2)*(3^3)*...*(n^n),求S不大于400000时的最大n*/long s=1,i=0;while(s<=400000){int k=1;i=i+1;for(int j=1;j<=i;j++)k*=i;s*=k;//System.out.println("i:"+i);//System.out.println("s:"+s);}System.out.println(i-1);}}8、public class Ex8 {public static void main(String[] args){/*** 找出1~1000间的全部”同构数”.如果一个数出现在其平方数右端,* 则称此数为同构数,如1在1^2=1的右端,5在5^2=25的右端,25在25^2=625的右端等.for(int i=1;i<=1000;i++){int j=i*i;if(j%10==i||j%100==i||j%1000==i)System.out.println(i);}}}9、public class Ex9 {public static void main(String[] args){/*** 百鸡问题。