博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019-01-06 流程控制练习题
阅读量:4974 次
发布时间:2019-06-12

本文共 6587 字,大约阅读时间需要 21 分钟。

练习一、

一个人很倒霉,不小心打碎了一位妇女的一篮子鸡蛋。为了赔偿便询问篮子里有多少鸡蛋。

那妇女说,她也不清楚,只记得每次拿两个则剩一个,每次拿3个则剩2个,每次拿5个则剩4个,若每个鸡蛋1元

请你帮忙编程,计算最少应赔多少钱? 要求:用循环语句实现,直接打印出结果不给分

1 package com.zuoye; 2 /** 3  * 一个人很倒霉,不小心打碎了一位妇女的一篮子鸡蛋。为了赔偿便询问篮子里有多少鸡蛋。 4  * 那妇女说,她也不清楚,只记得每次拿两个则剩一个,每次拿3个则剩2个,每次拿5个则剩4个,若每个鸡蛋1元。 5  * 请你帮忙编程,计算最少应赔多少钱 6  * @author Mr.kemi 7  *2019-1-2 8  */ 9 public class One {10     public static void main(String[] args) {11         //设变量i为总的鸡蛋数12         for(int i = 0;;i++) {13             if(i%2==1&&i%3==2&&i%5==4) {14                 System.out.println("最少要赔:"+i+"元钱");15                 break;16             }17         }18     }    19 }

 

 

练习二:从键盘接收一个整数N,统计出1~N之间能被7整除的整数的个数,以及这些能被7整除的数的和。

 

1 package com.zuoye; 2  3 import java.util.Scanner; 4 /** 5  * 从键盘接收一个整数N,统计出1~N之间能被7整除的整数的个数,以及这些能被7整除的数的和 6  * @author Mr.kemi 7  * 2019-1-2 8  */ 9 public class Two {10     public static void main(String[] args) {11         Scanner input = new Scanner(System.in);12         System.out.println("请输入一个整数:");13         int N = input.nextInt();14         //设变量 和初始值为015         int sum = 0;16         //设变量 个数初始值为017         int count = 0;18         for(int i = 1;i

 

 

 

 

 练习三:

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?

程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....

1 package com.zuoye; 2  3 import java.util.Scanner; 4 /** 5  * 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子 6  * 假如兔子都不死,问每个月的兔子对数为多少? 7  * @author Mr.kemi 8  *    2019-1-2 9  */10 public class Three {11     public static void main(String [] args){12         long [] month ;13         System.out.print("请输入月份: ");14         Scanner s = new Scanner(System.in);15         int i = s.nextInt();16         month = new long[i];17 18         if(month.length >= 1){19             month[0] = month[1] = 1;//第一和第二个月的兔子都是:120         }21         for(int j = 0; j < month.length; j++){22             if(j == 0 || j == 1){23                 System.out.println("兔子数量为: " + month[j]);24             }else {25                 month[j] = month[j-2] + month[j-1];//第三个月以后都满足规律:month[j] = month[j-2] + month[j-1]26                 System.out.println("兔子数量为: " + month[j]);27             }28         }29     }30 31 }

 

练习四:

一个笼子有35个头,94只脚,问鸡和兔各有多少?

解题:数学方法:设鸡i只,兔j只,方程:i + j = 35 ;  2 * i + 4 * j = 94。

 

1 package com.zuoye; 2 /** 3  * 题:一个笼子有35个头,94只脚,问鸡和兔各有多少? 4  * @author Mr.kemi 5  *    2019-1-2 6  */ 7 public class Four { 8     public static void main(String[] args) { 9         //j为鸡  y为兔子10         int j,y;11         for(j=0;j<=35;j++) {12             y = 35-j;//兔子数13             if(2 * j + 4 * y ==94) {14                 System.out.println("鸡为"+j+"兔为"+y);15             }16         }17         18     }19 }

 

 

练习5、马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人?

 

1 package com.zuoye; 2  3 /** 4  * 马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩。 5  * 在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令。 6  * 问男人、女人和小孩各有几人? 7  * @author Mr.kemi 8  *    2019-1-2 9  */10 11 public class Five {12     public static void main(String[] args) {13         //声明变量 man为男人 woman为女人 child为小孩14         int man,woman,child;15         for(man =0;man<=10;man++) {16             for(woman =0;woman<=15;woman++) {17                 for(child =0;child<=30;child++) {18                     if(man+woman+child==30&&3*man+2*woman+child==50) {19                         System.out.println("男人有"+man+"人"+"女人有"+woman+"人"+"小孩有"+child+"人");20 21                     }22 23                 }24             }25         }26     }27 }

 

 

 

 

练习6、判断101-200之间有多少个素数,并输出所有素数。

程序分析:

    * 素数是:只能被1或本身整除的数,如:2,3,5,7,11,131... 

1 package com.zuoye; 2 /** 3 *判断101-200之间有多少个素(质)数,并输出所有素数。 4 *程序分析:素数是:只能被1或本身整除的数,如:2,3,5,7,11,131... 5  * @author Mr.kemi 6  *    2019-1-2 7  */     8 public class Six { 9     public static void main(String[] args) {10         //声明101-200的总质数11         int count = 0;12         //用for循环遍历101到200之间的数13         for(int i=101;i<200;i++) {14             for(int y=2;y

练习7、

打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

1 package com.zuoye; 2 /** 3 *打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。 4 *例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 5  * @author Mr.kemi 6  *    2019-1-2 7  */     8 public class Seven { 9     public static void main(String[] args) {10         int a,b,c;11         for(int i=100;i<=999;i++) {12             a =i/100;13             b =i/10%10;14             c =i%10;15             if((a*a*a)+(b*b*b)+(c*c*c)==i) {16                 System.out.println("水仙花为:"+i);17                 18             }19         }20     }21 }

 

 

 

 

练习8、将一个正整数分解质因数。比如:输入90,打印出90=2*3*3*5。

1 package com.zuoye; 2  3 import java.util.Scanner; 4 //将一个正整数分解质因数。比如:输入90,打印出90=2*3*3*5。 5 public class Eight { 6     public static void main(String[] args) { 7         Scanner input = new Scanner(System.in); 8         System.out.println("请输入一个数字"); 9         int num = input.nextInt();10         System.out.print(num+"=");11         for(int i=2;i<10000;i++) {12             while(num%i==0) {13                 System.out.print(i);14                 num=num/i;15                 if(num==1) {16                     break;17                 }18                 System.out.print("*");19                 20             }21         }22     }23 }

练习9、利用条件运算符的嵌套来完毕此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分下面的用C表示。

1 package com.zuoye; 2  3 import java.util.Scanner; 4  5 /** 6  * 利用条件运算符的嵌套来完毕此题: 7  *  8  * @author Mr.kemi 9  *    2019-1-210  */11 public class Nine {12     public static void main(String[] args) {13         Scanner input = new Scanner(System.in);14         System.out.println("请输入您的成绩:");15         double i = input.nextInt();16 //        if(i>=90) {17 //            System.out.println("成绩优秀-A级");18 //        }else if(i<90&&i>59) {19 //            System.out.println("成绩中等-B级");20 //        }else {21 //            System.out.println("成绩差-C级");22 //        }23         String sum= i<60?"c":(i>89?"A":"B");24         System.out.println("您的成绩为"+sum);25     }26 }

练习10、输入两个正整数m和n,求其最大公约数和最小公倍数。

1 package com.zuoye; 2  3 import java.util.Scanner; 4  5 /** 6  * 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 7  * 在循环中,仅仅要除数不等于0。用较大数除以较小的数。将小的一个数作为下一轮循环的大数。 8  * 取得的余数作为下一轮循环的较小的数。如此循环直到较小的数的值为0,返回较大的数, 9  * 此数即为最大公约数,最小公倍数为两数之积除以最大公约数。10  * @author Mr.kemi11  *    2019-1-212  */13 public class Ten {14     public static void main(String[] args) {15         Scanner input = new Scanner(System.in);16         System.out.println("输入两个正整数");17         int m = input.nextInt();18         int n = input.nextInt();19         int a;20         int c=n;21         int d=m;22         if(m

 

 

转载于:https://www.cnblogs.com/kemii/p/10241001.html

你可能感兴趣的文章
开通博客
查看>>
github 快速部署
查看>>
Python内置函数
查看>>
------ 比较二位数组大小-----
查看>>
canvas绘制经典折线图(一)
查看>>
项目职责
查看>>
对空间时钟的调查报告
查看>>
初步体验javascript try catch机制
查看>>
javaweb学习——session和Cookie实现购物车功能
查看>>
Android系统是目前最为流行的手机系统之一
查看>>
洛谷 2615 神奇的幻方——模拟
查看>>
【bzoj1085】【 [SCOI2005]骑士精神】启发式剪枝+迭代加深搜索
查看>>
C# 获取运行时间
查看>>
TraceView简单使用方法
查看>>
git config and options core.bare hard
查看>>
win10自动更新彻底关闭
查看>>
转:研读代码必须掌握的Eclipse快捷键
查看>>
转: 如何高效利用GitHub
查看>>
vmware打开虚拟级断电情况下,无法找到虚拟机文件
查看>>
java记录
查看>>