java100以内6的倍数_java练习题:输出100以内与7有关的数、百马百担、打分(去掉最高、最低分)、二分法查找数据、输出直角三角形、正三角形...

本文介绍了几个Java编程题目,包括输出100以内与7有关的数,解决百马百担问题,比赛打分算法,实现二分法查找,以及输出直角和等边三角形的代码示例。通过这些练习,可以提升对Java算法的理解和应用能力。
摘要由CSDN通过智能技术生成

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=newScanner(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

System.out.println(a[i]);

}//计算分数

int sum=0;doubleavg;for(int i=2;i<=a.length-3;i++){

sum+=a[i];

}

avg=sum/(a.length-4)*1.0;//输出

System.out.println("去掉两个最高分:"+a[0]+","+a[1]+",去掉两个最低分:"+a[a.length-1]+","+a[a.length-2]+",最终得分是:"+avg);

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

high=mid-1;

}else if(value==a[mid]){

zhaodao= true;break;

}else{

}

}if(zhaodao == false){

System.out.println("无法找到");

}else{

System.out.println("找到了");

}

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("");

}

结果:

*

***

*****

*******

*********

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值