1.输出100以内与7有关的数
注:
这些数分为三类:(1)7的倍数,(2)个位数字是7的数,(3)十位数字是7的数
int i=1; System.out.println("输出100以内与7有关的数:"); for(i=1;i<=100;i++){ if(i%10==7 | i%7==0|i/10==7 ){//符合条件的三类数 System.out.println(i); } else{ }
2.百马百担
注:
有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?
int a=0,b=0,c=0; double sum1=a+b+c,sum2=3*a+2*b+0.5*c; for(a=0;a<=33;a++){ //大马不超过33匹 for(b=0;b<=50;b++){ //中马不超过50匹 for(c=0;c<=100;c++){ //小马不超过100匹 if(sum1==100&&sum2==100){ System.out.println("大马有"+a+"匹,中马有"+b+"匹,小马有"+c+"匹"); } else{ } } } }
3.比赛打分
注:
去掉2个最高分,去掉2个最低分,采用平均分
int a[]=new int[10]; Scanner sc=new Scanner(System.in);//输入10个分数 for(int i=0;i<=9;i++){ a[i]=sc.nextInt(); } //排序 for(int i=1;ia[j-1]){ int temp=a[j]; a[j]=a[j-1]; a[j-1]=temp; } } } for(int i=0;i
4.二分法
注:即一分为二的方法. 设[a,b]为R的闭区间. 逐次二分法就是造出如下的区间序列([an,bn]):a0=a,b0=b,且对任一自然数n,[an+1,bn+1]或者等于[an,cn],或者等于[cn,bn],其中cn表示[an,bn]的中点。
int[] a=new int[]{11,12,13,14,15};//限定一个查找的范围 int low=0,high=4,mid=0;//设定数组最小、中间、最大数的下标 int value=15;//假设要查这个数 boolean zhaodao=false;//设置最后的判定条件 while(low<=high){ mid=(low+high)/2; if(value>a[mid]){ low=mid+1; } else if(value
5.输出一个5行高的直角三角形
for(int i=0;i<5;i++) { //限定5行 for (int j=0;j<=i;j++) { //每行星星的个数等于行的序号 System.out.print("*"); } System.out.println("");//换行}
结果:
*
**************6.输出一个等边三角形
for(int i=0;i<5;i++){ //5行高 for(int j=0;j<=5-i;j++){ //每行的星星前有多少个空格 System.out.print(" "); } for(int k=0;k<=2*i;k++){ //每行有多少个星星 System.out.print("*"); } System.out.println("");}
结果:
*
*** ***** ******* *********