java程序”百钱买百鸡“
java编程题目
50.程序功能:求满足以下条件的(a,b,c)的组数:(1) 1/(a^2)+1/(b^2)=1/(c^2) ;(2)a>b>c ;(3)a+b+c<100。
51.程序功能:求个位数是6,且能被3整除的所有四位数之和。
52.程序功能:有一堆零件(零件个数不超过1000),如果分成4个零件一组余2个;7个一组余3个; 9个一组余5个。求这堆零件的个数有几种可能。
33.程序功能:计算y=1+2/3+3/5+4/7+…+n/(2*n-1)(n=50), 要求:按四舍五入的方式精确到小数点后第二位。
34.程序功能:求当N=20时,1/(1*2)+1/(2*3)+1/(3*4)+….+1/(N*(N+1))的值。要求:按四舍五入的方式精确到小数点后第二位。
74.用sin(x)≈x-x^3/3!+x^5/5!-……+(-1)^(n-1)*(x^(2n-1))/(2n-1)!的公式求近似值,直到最后一项绝对值小于0.00001为止。设x=7。
69.宴会上一共有1225次握手,设每一位参加宴会的人对其他与会人士都有一样的礼节,那么与会人士有多少?
70.金星和地球在某一时刻相对于太阳处于某一确定位置,已知金星绕太阳一周为225日,地球绕太阳一周为365日,问两个行星至少经过多少日仍同时回到原来的位置上?
71.求表达式e^x ≈1+x+x^2/2!+x^3/3!+x^4/4!……+x^n/n!的近似值,设x=9,n=25;
25.程序功能:若某整数N的所有因子之和等于N的倍数,则N称为多因子完备数,如数28,其因子之和1+2+4+7+14+28=56=2*28,28是多因子完备数。求[1,200]之间有多少个多因子完备数。
PYTHON中百钱买百鸡问题
PYTHON中百钱买百鸡问题问题:中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,问翁、母、雏各几何?在PYTHON中编程实现将所有可能的方案输出。
问题分析:根据题意设公鸡、母鸡和雏鸡分别为cock,hen和biddy,如果100钱全买公鸡,那么最多能买20只,所以cock的范围是大小等于0小于等于20;如果全买母鸡那么最多能买33只,所以hen的范围是大于等于0小于等于33;如果100钱全买小鸡,那么根据题意最多能买99只(小鸡的数量应小于100且是3的倍数)。
在确定了各种鸡的范围后进行穷举并判断,判断的条件有以下3种:(1)、所买的三种鸡的钱数总和为100;(2)、所买的三种鸡的数量之和为100;(3)、所买的小鸡的数量必须是3的倍数。
程序代码:for cock in range(0,20+1): #鸡翁范围在0到20之间for hen in range(0,33+1): #鸡母范围在0到33之间for biddy in range(3,99+1): #鸡雏范围在3到99之间if (5*cock+3*hen+biddy/3)==100:#判断钱数是否等于100if (cock+hen+biddy)==100: #判断购买的鸡数是否等于100if biddy%3==0: #判断鸡雏数是否能被3整除print ("鸡翁:",cock,"鸡母:",hen,"鸡雏:",biddy) #输出程序运行结果:鸡翁: 0 鸡母: 25 鸡雏: 75鸡翁: 4 鸡母: 18 鸡雏: 78鸡翁: 8 鸡母: 11 鸡雏: 81鸡翁: 12 鸡母: 4 鸡雏: 84。
百钱买百鸡解题思路数学
百钱买百鸡这个题目是一个著名的数学难题,它要求用一百个钱币购买一百只鸡,其中公鸡x只,母鸡y只,小鸡z只,且x+y+z=100,且5x+3y+z/3=100。
使用现代计算机技术的优势,可以通过暴力穷举来解决这个问题。
小朋友也可以在Scratch编程中,通过引入变量和穷举法来实现这一过程。
首先,设置三个变量x、y和z,它们分别代表公鸡、母鸡和小鸡的数量。
设置一个计数器,用于显示穷举的执行时间。
然后,开始穷举。
从x的最小值开始,即0,依次增加到最大值,即100/5,检查是否满足x+y+z=100。
如果满足,继续检查是否满足5x+3y+z/3=100。
如果都满足,则表示找到了一个解。
在穷举过程中,可以使用计时器显示穷举的执行时间,以便学生了解求解过程的耗时情况。
最后,输出找到的所有解,包括公鸡、母鸡和小鸡的数量。
这些解可能有四种情况:公鸡0只,母鸡25只,小鸡75只;公鸡4只,母鸡18只,小鸡78只;公鸡8只,母鸡11只,小鸡81只;公鸡12只,母鸡4只,小鸡84只。
通过这种方式,可以使用Scratch编程解决这个数学难题,并且通过计时器显示执行时间,了解求解过程的耗时情况。
java代码练习
java代码练习/** 百钱买百鸡*/public class Chook {/*** 百钱买百鸡*/public static void main(String[] args) {int way = 1; //买法int k = 0; //雏鸡数for(int i=1;i<=20;i++){ //公鸡数for(int j=1;j<=33;j++){ //母鸡数k = 100-i-j; //一共100只鸡if(k%3 == 0 && (5*i+3*j+k/3 == 100)){//雏鸡数是3的倍数,总计100文钱System.out.print("[买法" + way++ + "] ");System.out.println("公鸡: " +i+ " 母鸡:" +j+ " 雏鸡:" +k);}}}}}/** 打印9*9乘法表*/public class Multiplication {public static void main(String[] args) {int i, j; // 循环变量for (i = 1; i <= 9; i++){ // 外层循环控制被乘数for (j = 1; j <= i; j++){ // 内层循环控制乘数System.out.print(i+"*"+j+"="+(i*j)+"\t");}System.out.println(); // 打印一行后换行}}}/*** LookPrice.java 根据编号显示对应的商品价格*/public class LookPrice {public static void main(String[] args) {String name = ""; // 商品名称double price = 0; // 商品价格int goodsNo; // 商品编号/* 打印产品清单*/System.out.println("*****************************************" );System.out.println("请选择购买的商品编号:\n");System.out.println("1.T恤 2. 网球鞋 3. 网球拍");System.out.println("****************************************\n ");Scanner input = new Scanner(System.in);String answer = "y"; // 标识是否继续while (answer.equals("y")) { // con的值为"y"时执行循环体System.out.print("请输入商品编号:"); // 提示输入商品编号goodsNo = input.nextInt(); // 从键盘获取商品编号switch (goodsNo) {case 1:name = "T恤";price = 245;break;case 2:name = "网球鞋";price = 570;break;case 3:name = "网球拍";price = 320;break;}System.out.println(name + "\t" + "¥" + price); // 输出商品名称和价格System.out.print("\n是否继续(y/n)");answer = input.next(); // 用户再次输入是否继续的信息}System.out.println("\n程序结束!");}}/*** LoginMenu.java 购物菜单选择*/public class LoginMenu {/*** 显示我行我素购物管理系统的登录菜单*/public static void main(String[] args) {System.out.println("\n\n\t\t\t欢迎使用我行我素购物管理系统1.0版\n\n");System.out.println("\t\t\t\t 1. 登录系统\n\n");System.out.println("\t\t\t\t 2. 退出\n\n");System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");System.out.print("请选择,输入数字:");/* 从键盘获取信息,并执行相应操作---新加代码*/Scanner input = new Scanner(System.in);int num = input.nextInt();switch (num) {case 1:/* 显示系统主菜单*/System.out.println("\n\n\t\t\t\t欢迎使用我行我素购物管理系统\n");System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");System.out.println("\t\t\t\t 1. 客户信息管理\n");System.out.println("\t\t\t\t 2. 购物结算\n");System.out.println("\t\t\t\t 3. 真情回馈\n");System.out.println("\t\t\t\t 4. 注销\n");System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");System.out.print("请选择,输入数字:");break;case 2:/* 退出系统*/System.out.println("谢谢您的使用!");break;default:System.out.println("输入错误。
“百钱买百鸡”问题的C语言算法分析
“百钱买百鸡”问题的C语言算法分析Abstract:As a process-oriented programming language,C programming language is one of the most classic and popular computer programming languages with the characteristics of the assembly language and the high-level language.It is not only the first choice for the people who begin to learn computer programming,but also the basis for other computer courses and software development.As a difficult point in C Programming Language learning,the loop statement can be used to solve many practical problems of regularly repetitive operation.Taking the case of "spending 100 dollars on 100 chickens",the paper implements design,analysis and optimization,and finally proposes the optimal algorithm.Keywords:C programming language;loop statement;spending 100 dollars on 100 chickens1 引言(Introduction)计算机算法设计是计算机专业学习的核心专业内容,算法设计对于培养一个人的逻辑思维能力具有重要的作用,能进行有效的算法设计是对一个计算机学者的基本要求。
c++、python、vb求解百钱百鸡问题
我国古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱三;鸡母一,值钱二;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?翻译过来,意思是公鸡一个三块钱,母鸡一个二块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?题目分析如果用数学的方法解决百钱买百鸡问题,可将该问题抽象成方程式组。
设公鸡x 只,母鸡y 只,小鸡z 只,得到以下方程式组:A:3x+2y+1/3z = 100B:x+y+z = 100C:0 <= x <= 100D:0 <= y <= 100E:0 <= z <= 100如果用解方程的方式解这道题需要进行多次猜解,因此我们用穷举法的方式来解题。
1.C++语言#include<iostream>using namespace std;int main(){int i,j,k,x,y,z;for (i=0;i<=33;i++)for(j=0;j<=50;j++)for(k=0;k<=100;k++)if((3*i+2*j+k/3==100)&&(i+j+k==100)&&k%3==0)cout<<i<<" "<<j<<" "<<k<<endl;return 0;}2.Python语言for i in range(33):for j in range(50):for k in range(100):if (3*i+2*j+k/3==100) and (i+j+k==100) and (k%3==0):print(i,j,k)3.VB语言Dim a As Integer, b As Integer, c As IntegerFor a = 0 To 33For b = 0 To 50For c = 0 To 100If 3 * a + 2 * b + 1 / 3 * c = 100 And a + b + c = 100 ThenPrint "公鸡" & a, "母鸡" & b, "小鸡" & cEnd IfNext cNext bNext a。
JAVA编程-百钱买百鸡详解
题目:我国古代数学家张丘建成在《算经》中出了一道"百钱买百鸡"的问题,题意是:五文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡,现在用100文钱买一百只鸡,那么各有公鸡、母鸡、雏鸡多少只?思路分析1:百钱买百鸡问题,公鸡五文钱1只,母鸡3文钱一只,小鸡1文钱3只,问100元买100只鸡, 各有公鸡、母鸡、雏鸡多少只?假设买公鸡x 只,买母鸡y 只,买小鸡z 只,那么根据已知条件列方程,得出:(1)、 x+y+z=100 //计算鸡的数量,公鸡x+母鸡y+小鸡z =100只鸡(2)、 5x+3y+Z 3 =100 或者写成 5x+3y+13z=100 //计算100元能买多少只鸡 说明:根据题意小鸡1文钱3只,表达式中13 z 也就是Z 3,只是写法不同,都是表示一只鸡要多少钱?(3)、 z=100-x-y //计算小鸡的数量把以上3个公式整理后得到:5x+3y+100-x-y 3=100 然后整个公式都乘以3后: 3×5x+3×3y+3×100-x-y 3=100×3 计算后得到: 15x+9y+100-x-y=300把左边式子整理得到: 15x-x +9y -y +100 =300把左边式子X 和Y 减去得到: 14x+8y+100=300把左边整数放右边,整理得到: 14x+8y=300-100计算后得到: 14x+8y=200继续整理公式,都除以2后:14x 2 +8y 2 =2002计算后得到: 7x+4y=100根据上面公式得到y 整理得到:4y=100-7x然后整个公式都除以4后: 4y 4 = 100-7x 4整理得到y(母鸡数量)的公式:y = 100-7x 4;从右边式中看出4和100都是4的倍数: 这样拆分写是为了让读者通俗易懂: y =1004 - 7x 4 整理公式得到: y =25-74 x 也可以写成 y =25-7x 4由于y 是表示母鸡数量,它一定是自然数(自然数是整数(自然数包括正整数和零),但整数不全是自然数,例如:-1 -2 -3......是整数 而不是自然数。
自考教材《java语言程序设计(一)》第二章习题解答
第二章习题解答2.1 Java的字符能参加算术运算吗?可以。
(1)字符与整型数据运算,结果为整型数据,只能附给整型变量,如果附给字符型变量会损失精度,需要强制类型装换;(2)字符与字符运算,结果为字符型数据,可以直接附给字符型或整型变量。
2.2 占字节多的变量能直接赋值给占字节少的变量么?答:不能直接赋值,需要强制类型转换。
2.3 试用Java语言表达式描述以下数学计算式或逻辑条件:1)3)34(rV⋅=π解:V = (4.0/3)*Math.PI*Math.pow(r,3);2))11(121RRR+=解:R = 1.0 / (1.0/R1+1.0/R2);3)635++=xxy解:y = Math.pow(x,5) + Math.pow(x,3) + 6;4)221RMMF⋅=解:F = 1.0 * M1 * M2 / (R * R);5)()()|2/cos|/sin xaxx⋅+π解:Math.sin(x) / a * x + Math.abs( Math.cos(π * x / 2) );6)0 < a <10解:a > 0 && a < 107) 条件 x=1 与 y=2 有且只有一个成立.解:( x == 1 && y != 2) || (x != 1 && y == 2)2.4 设在求以下表达式之前,整型变量a的值是4,试指出在求了以下表达式之后,变量a、b和c的值。
1);++*=aab解:a=5 ; b=16;2);aac+++=;解:a=5 ; c=102.5编写一个程序,示意前缀++与后缀++的区别,前缀--与后缀--的区别。
分析:其实只是在程序中简单地使用这两类自增、自减运算符就可以了,打印出运算前后的值就可以了,同学们可以自行写出,这里只给出参考程序:public class Xt25 {public static void main(String[] args) {int i=7,j=5,k=10,n=8,x,y;System.out.print("变量i的值为"+i);x=i++;System.out.println(",执行赋值运算x=i++后,x的值为"+x+",i的值为"+i);//提示注意print和println的差别,并注意本题整体输入效果!!!System.out.print("变量j的值为"+j);y=++j;System.out.println(",执行赋值运算y=++j后,y的值为"+y+",j的值为"+j);System.out.print("变量k的值为"+k);x=k--;System.out.println(",执行赋值运算x=k--后,x的值为"+x+",k的值为"+k);System.out.print("变量n的值为"+n);y=--n;System.out.println(",执行赋值运算x=--n后,y的值为"+y+",n的值为"+n);}}程序运行结果:变量i的值为7,执行赋值运算x=i++后,x的值为7,i的值为8变量j的值为5,执行赋值运算y=++j后,y的值为6,j的值为6变量k的值为10,执行赋值运算x=k--后,x的值为10,k的值为9变量n的值为8,执行赋值运算x=--n后,y的值为7,n的值为72.6 若一个数恰好等于它的因子之和,则这个数称为“完全数”。
Java,基础编程练习题-
Java,基础编程练习题-Java,基础编程练习题:1、编写程序实现对给定的 4 个整数从大到小的顺序排列。
package HomeWork01;import java.util.Scanner;public class HomeWork01 {static int number=4; //输入4个数存放在数组中static int[] t1 = new int[number];public static void main(String[] args) {HomeWork01 jiejie=new HomeWork01();jiejie.shunxun();}void shunxun(){System.out.println(“请输入4个数:”);Scanner in_t1 = new Scanner(System.in);//循环输入数组for(int i=0;i t1[i]=in_t1.nextInt();}for (int i = 0; i int pos = i;for (int j = i + 1; j if (t1[pos] > t1[j]) pos = j;}if (pos != i) {t1[i] = t1[i] + t1[pos];t1[pos] = t1[i] - t1[pos];t1[i] = t1[i] - t1[pos];}}for (int i = t1.length - 1; i >= 0; i--)System.out.print(t1[i] + “\t”);}}2、编写程序求一元二次方程的根。
package HomeWork02;import java.util.Scanner;public class HomeWork02//△=b-4ac的值,若△小于0,一元二次方程无根.若△等于0,一元二次方程有两个相等的根.若△大于0,一元二次方程有两个不相等的实数根{public static void main(String [] args){Scanner sc = new Scanner(System.in);System.out.println(“输入2次方的系数”);int a = sc.nextInt();System.out.println(“输入1次方的系数”);int b = sc.nextInt();System.out.println(“输入0次方的系数”);int c = sc.nextInt();if((b*b - 4*a*c) System.out.println(“方程无解!”);return;}else{System.out.println(“方程有解!”);}double x1 = (-b + Math.sqrt(b*b - 4*a*c))/2*a;double x2 = (-b - Math.sqrt(b*b - 4*a*c))/2*a;System.out.println(“根分别是“ + x1 + “\t” + x2);}}3、编写程序,输入一个字符,判断它是否为小写字母,如果是,将它转换成大写字母,否则,不转换。
VB练习题
1.百元买百鸡公鸡2元,母鸡1元,小鸡0.5元,给你100元,要买100只鸡,问公鸡母鸡小鸡各多少?算法(方程组):2*x+1*y+0.5*z=100x+y+z=100代码实现:Private Sub BuyChicken()Dim cock As Integer '公鸡Dim hen As Integer '母鸡Dim chick As Integer '小鸡For cock = 1 To 100For hen = 1 To 100For chick = 1 To 100If cock + hen + chick = 100 And _cock * 2 + hen * 1 + chick * 0.5 = 100 ThenPrint cock, hen, chickEnd IfNextNextNextEnd Sub优化1:For cock = 1 To 100For hen = 1 To 100If cock * 2 + hen * 1 + (100-cock-hen) * 0.5 = 100 ThenPrint cock, hen, chickEnd IfNextNext优化2:For cock = 1 To 49For hen = 1 To 100If cock * 2 + hen * 1 + (100-cock-hen) * 0.5 = 100 ThenPrint cock, hen, chickEnd IfNextNext2.斐波那契数列(养兔问题)1202年,意大利比萨的数学家斐波那契(约1170年~约1250年)在他所著的《算盘书》里提出了这样一个有趣的问题:假定1对一雌一雄的大兔,每月能生一雌一雄的1对小兔,每对小兔过两个月就能长成大兔。
那么,若年初时有1对小兔,按上面的规律繁殖,并且不发生死亡等意外情况,1年后将有多少对兔子?我们来分析一下:第一个月时,有小兔1对;第二个月时,小兔还没有长大,因此兔子数仍是1对;第三个月时,小兔已长成大兔,并且生下1对小兔,这时兔子数是2对;第四个月时,原来的兔子又生了1对小兔,但上个月刚生的小兔尚未成熟,这时兔子数是3对;第五个月时,原来的兔子又生了1对小兔,第三个月出生的小兔这时也已长大并且也生了1对小兔,因此共有兔子5对;一直这样推算下去,可以得到下面的表:如果仔细观察,就不难发现其中的规律:从第三个月份起,每个月的兔子对数都是前两个月的兔子对数之和。
java循环作业
java循环作业题⽬⼀:打印出所有的 "⽔仙花数 ",所谓 "⽔仙花数 "是指⼀个三位数,其各位数字⽴⽅和等于该数本⾝。
例如:153是⼀个 "⽔仙花数 ",因为153=1的三次⽅+5的三次⽅+3的三次⽅。
题⽬⼆:我国古代数学家张邱建在《算经》中出了⼀道“百钱买百鸡”的问题,题意是这样的:5⽂钱可以买⼀只公鸡,3⽂钱可以买⼀只母鸡,1⽂钱可以买3只雏鸡。
现在⽤100⽂钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。
题⽬三:这是经典的"百马百担"问题,有⼀百匹马,驮⼀百担货,⼤马驮3担,中马驮2担,两只⼩马驮1担,问有⼤,中,⼩马各⼏匹?题⽬四:控制台输出九九乘法表题⽬五:控制台输出三⾓形和菱形题⽬六冒泡排序package com.text_1;import java.util.Scanner;public class maopao {public static void main(String[] args) {// TODO ⾃动⽣成的⽅法存根Scanner sc=new Scanner(System.in);System.out.println("请输⼊数字个数:");int n=sc.nextInt();int arr[]=new int[n];for (int i=0;i<arr.length;i++){System.out.println("请输⼊第"+(i+1)+"数字:"); arr[i]=sc.nextInt();}for(int a=0;a<arr.length;a++){for(int b=0;b<arr.length-1;b++){if(arr[a]<arr[b]){int c=arr[b];arr[b]=arr[a];arr[a]=c;}}}for(int i=0;i<arr.length;i++){System.out.println(arr[i]+" "); }}}。
c语言百钱买百鸡问题
百钱买百鸡问题——一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少)。
这是一个古典数学问题,设一百只鸡中公鸡、母鸡、小鸡分别为x ,y ,z ,问题化为三元一次方程组:⎩⎨⎧=++=++)(100)(1003/35百鸡百钱z y x z y x 这里x,y,z 为正整数,且z 是3的倍数;由于鸡和钱的总数都是100,可以确定x,y,z 的取值范围:1) x 的取值范围为1~20 2) y 的取值范围为1~333) z 的取值范围为3~99,步长为3 对于这个问题我们可以用穷举的方法,遍历x,y,z 的所有可能组合,最后得到问题的解。
数据要求问题中的常量: 无问题的输入: 无问题的输出:int x ,y ,z /*公鸡、母鸡、小鸡的只数*/ 初始算法1.初始化为1;2.计算x 循环,找到公鸡的只数; 3.计算y 循环,找到母鸡的只数; 4.计算z 循环,找到小鸡的只数; 5.结束,程序输出结果后退出。
算法细化算法的步骤1实际上是分散在程序之中的,由于用的是for 循环,很方便的初始条件放到了表达式之中了。
步骤2和3是按照步长1去寻找公鸡和母鸡的个数。
步骤4的细化 4.1 z =14.2 是否满足百钱,百鸡4.2.1 满足,输出最终百钱买到的百鸡的结果 4.2.2 不满足,不做处理 4.3 变量增加,这里注意步长为3 流程图图5-8 程序执行流程图程序代码如下#include "stdio.h"main(){int x,y,z;for(x=1;x<=20;x++)for(y=1;y<=33;y++)for(z=3;z<=99;z+=3){if((5*x+3*y+z/3==100)&&(x+y+z==100))/*是否满足百钱和百鸡的条件*/printf("cock=%d,hen=%d,chicken=%d\n",x,y,z);}}分析程序运行结果如下:cock=4,hen=8,chicken=78cock=8,hen=11,chicken=81cock=12,hen=4,chicken=84对于这个问题实际上可以不用三重循环,而是用二重循环,因为公鸡和母鸡数确定后,小鸡数就定了,即y100z 。
Java练习题
if选择1、请将以下场景转成代码1)、下雨了,收衣服了2)、北京人太多了,应该实行限行,单眼皮 124出行,双眼皮35出行. 一单一双67出行2、随机生成一个0-100随机数,判断其奇偶性3、随机生成3个数,求出最大值与最小值4、随机生成1-12月份数字,根据该数字判断其季度。
5、随机生成一个100以内的成绩,当成绩在85及以上的时候输出”等级A”,70以上到84之间输出”等级B”, 60到69之间输出”等级C”,60以下输出”等级D6、根据随机生成的的月份,打出该月份的天数(不需要考虑润年、闰月)4 6 9 11 -->302 -->281 3 5 7 8 10 12 -->31switch选择1、随机生成1-7以内一个数字(整数),判断星期数2、利用穿透,随机生成1-7以内一个数字(整数),判断工作日、周末3、随机生成小写字母,利用switch判断元音、半元音、辅音元音:a e i o u半元音:y w辅音:其他4、根据随机生成的的月份,打出该月份的天数(不需要考虑润年、闰月)4 6 9 11 -->302 -->281 3 5 7 8 10 12 -->315、根据随机生成的的月份,判断季度循环1根据以下场景编写循环代码1、人的一生很短暂,说白了就是四个杯子,婴儿时期为奶杯,儿童时期为水杯,中年时期茶杯,老年时期为药杯,杯具呀...2、使用循环,描述你在尚学堂学习四个月的每个阶段的目标。
1、循环与选择的区别是什么?2、循环的四大结构分别是什么?3、如何结束循环?4、何为死循环?死循环一定是错误的吗?如何避免死循环?5、contiue与break的区别是什么?6、while 与do while的区别是什么?7、while与for之间如何做出选择,何时适合选择使用for?8、for与while之间的区别是什么?9、for初始表达式中的作用域在方法内都可使用,对吗?10、阅读代码,请问total结果是多少?1、重复打印10次 "hello world"2、求出1 ..100以内的总和并输出。
【C#】[算法]百鸡算法(母鸡+公鸡+小鸡=100)
【C#】[算法]百鸡算法(母鸡+公鸡+⼩鸡=100)using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 百鸡算法{class Program{static void Main(string[] args){/**题⽬:母鸡每只3元,公鸡每只2元,⼩鸡每只0.5元,计算⼀下如何100块钱买100只鸡。
*分析:* 我们⽤三个Int变量来代表母鸡(hens)、公鸡(cocks)、⼩鸡(chicks)的个数。
* 母鸡+公鸡+⼩鸡=100* (母鸡x3)+(公鸡x2)+(⼩鸡x0.5)=100* 那么其中母鸡最多只会有100÷3=33只、公鸡最多100÷2=50只、⼩鸡最多100÷0.5=200只* 所以还要满⾜ 0≥母鸡≤33 | 0≥公鸡≤50 | 0≥⼩鸡≤200*/Console.WriteLine("题⽬:母鸡每只3元,公鸡每只2元,⼩鸡每只0.5元,如何100块钱买100只鸡。
\n");Console.WriteLine("母鸡公鸡⼩鸡");int hens, cocks, chicks; //定义Int变量:母鸡,公鸡,⼩鸡for (hens = 0; hens <= 33; hens++)//循环:母鸡的只数{for (cocks = 0; cocks <= 50 - hens; cocks++)//循环:公鸡的只数(0 到(50-hen)){chicks = 100 - hens - cocks;//满⾜百鸡条件:⼩鸡(chicks)就等于100-母鸡数(hens)-公鸡数(cocks)if (hens * 3 + cocks * 2 + chicks * 0.5 == 100)//满⾜价钱条件:(母鸡x3)+(公鸡x2)+(⼩鸡x0.5)=100{Console.WriteLine("{0} {1} {2} = 100只", hens, cocks, chicks);//输出母鸡公鸡⼩鸡数}}}Console.Read();}}}。
习题参考答案
习题参考答案第1 章1. a=%d,b=%d2.【程序代码如下:】#include <stdio.h>int main( ){printf(“*\n”);printf(“* * *\n”);printf(“* * * * *\n”);printf(“* * * * * * *\n”);return 0;}【程序运行结果如下:】3. The result is 95第2 章1. a=3,b=-272. 假设圆柱的底面积半径为r(= 2.5),高为h(=3.5),编写求体积(体积=底面积* 高)的程序。
【程序代码如下:】#include <stdio.h>#define PI 3.1415926int main( ){double r = 2.5;double h = 3.5;double v=0;v = (PI * r * r)*h;printf(“v = %lf\n”, v);return 0;}【程序运行结果如下:】3. 将下面的数学公式转换成C语言的表达式,并用程序验证转换后的表达式是否与原数学公式是一致的。
数学公式如下:b ab ab ab aa+−+−+ −4242设a = 3, b = 5。
【程序代码如下:】#include <stdio.h>int main( ){double a=3, b=5;double result = (-2 * a + ( 4*a –b )/( 2*a + b ) )/( (a - 4*b)/(a + b) );printf(“%lf\n”, result);return 0;}【程序运行结果如下:】4. 编写程序,从键盘输入两个字符分别存放在变量x 和y 中,要求通过程序交换它们的值。
【程序代码如下:】#include <stdio.h>int main( ){char x, y;char tmp;printf(“Input two characters:”);scanf(“%c%c”, &x, &y);printf(“Before swap: x=%c, y=%c\n”, x, y);tmp = x;x = y;y = tmp;printf(“After swap: x=%c, y=%c\n”, x, y);return 0;}【程序运行结果如下:】5. Write a program to evaluate the polynomial shown here: for x = 2.55.3x 3 -5x 2 +6.【程序代码如下:】#include <stdio.h>#include <math.h>int main( ){double a=3, b=-5,c=2;double x = 2.55;double root1, root2;double delt;delt = b*b –4*a*c;root1 = ( -b + sqrt( delt ) ) / (2 * a) ;root2 = ( -b - sqrt( delt ) ) / (2 * a) ;printf(“The two roots are:\n”);printf(“root1 = %lf\n root2 = %lf\n”, root1, root2);return 0;}【程序运行结果如下:】第3 章1. 1 0 1 0 1 1 02. 某市不同车牌的出租车3 公里的起步价和计费分别为:夏利7 元/公里,3 公里以外2.1 元/公里;富康8 元/公里,3 公里以外2.4 元/公里;桑塔纳9 元,3 公里以外2.7 元/公里。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
intm,n,k,i=0;
for(m=0;m<=20;m++)
for(n=0;n<=33;n++)
for(k=0;k<=300;k+=3)
if(5*m+3*n+k/3==100&&m+n+k==100)
i++;
System.out.println("百钱买百鸡共有 "+i+" 种方法");
尝试分别用三层循环、两层循环、一层循环编程实现“百钱买百鸡”问题。母鸡5分钱一只,公鸡三分钱一只,小鸡一分钱三只,现在有百钱欲买百鸡鸡-三层循环
//母鸡5分钱一只,公鸡三分钱一只,小鸡一分钱三只
//母鸡m只,公鸡n只,小鸡k只
publicclassBaiQianMaiBaiJi3 {
if(5*m+3*n<=100&&m+n+(100-5*m-3*n)*3==100)
i++;
System.out.println("百钱买百鸡共有 "+i+" 种方法");
}
}
一层循环
//百钱买百鸡-一层循环
//母鸡5分钱一只,公鸡三分钱一只,小鸡一分钱三只
//母鸡m只,公鸡n只,小鸡k只 4m+2n=2(k/3);m+n+k=100
}
}
两层循环
//百钱买百鸡-两层循环
//母鸡5分钱一只,公鸡三分钱一只,小鸡一分钱三只
//母鸡m只,公鸡n只
publicclassBaiQianMaiBaiJi2 {
publicstaticvoidmain(String[]args) {
intm,n,i=0;
for(m=0;m<=20;m++)
for(n=0;n<=33;n++)
publicclassBaiQianMaiBaiJi1 {
publicstaticvoidmain(String[]args) {
intm,i=0;
for(m=0;m<=20;m++)
{
if((100-7*m)>0&&(100-7*m)%4==0)//&&k=3(100+m)/4,(100+m)%4==0
i++;
}
System.out.print("百钱买百鸡共有 "+i+" 种方法");
}
}