首页 > 代码库 > java练习题:输出100以内与7有关的数、百马百担、打分(去掉最高、最低分)、二分法查找数据
java练习题:输出100以内与7有关的数、百马百担、打分(去掉最高、最低分)、二分法查找数据
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;i<a.length;i++){ for(int j=1;j<=a.length-i;j++){ if(a[j]>a[j-1]){ int temp=a[j]; a[j]=a[j-1]; a[j-1]=temp; } } } for(int i=0;i<a.length;i++){ System.out.println(a[i]); }
//计算分数 int sum=0; double avg; 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=http://www.mamicode.com/15;//假设要查这个数 boolean zhaodao=false;//设置最后的判定条件 while(low<=high){ mid=(low+high)/2; if(value>a[mid]){ low=mid+1; } else if(value<a[mid]){ high=mid-1; } else if(value=http://www.mamicode.com/=a[mid]){ zhaodao = true; break; } else{ } } if(zhaodao == false){ System.out.println("无法找到"); } else{ System.out.println("找到了"); }
java练习题:输出100以内与7有关的数、百马百担、打分(去掉最高、最低分)、二分法查找数据
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。