C语言百鸡问题
C语言期末考试复习资料-程序填空部分试题及答案
【程序填空】-——-—----——--—————--—-—-——-—-——----—--—-—-——------———-——- 功能:下面的程序是求1!+3!+5!+……+n!的和。
--——------—-—--——-—----—---——----————-—-———-—-—-—-----—*/#include <stdio.h〉main(){long int f,s;int i,j,n;/***********SPACE***********/【?】;scanf("%d”,&n);/***********SPACE***********/for(i=1;i<=n;【?】){f=1;/***********SPACE***********/for(j=1; 【?】;j++)/***********SPACE***********/【?】;s=s+f;}printf(”n=%d,s=%ld\n",n,s);}/*-—--——-——-—-——---—-----—--——--—-—--—----—---—-—-—--——-—【程序填空】----—---—---—--—-—————-—————-——---—--—----————-—--—--——-—功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出其和。
--———-—--——-—--——-——--—--———--—————-——--—--—-———--—--——*/ #include <stdio.h〉#include <conio.h〉main(){int i,n,sum;sum=0;/***********SPACE***********/【?】;/***********SPACE***********/for(i=1; 【?】;i++)/***********SPACE***********/if(【?】)if(i%2==0){sum=sum+i;n++;printf("%6d",i);/***********SPACE***********/if(【?】)printf(”\n");}printf(”\ntotal=%d”,sum);}/*———-—----———----—----—---———————--—-————----——----—---—【程序填空】——---—————-———-—————---—-—----—--——-—--—--——-—--——————-——功能:求100-999之间的水仙花数说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。
百元买鸡问题 穷举法 c++
穷举法“穷举法”也称“枚举法”,即将可能出现的各种情况一一测试,判断是否满足条件,采用循环语句可方便实现。
百元买鸡问题。
假定小鸡每只5角,公鸡每只2元,母鸡每只5元。
现在有100块钱,要求买100只鸡,编程列出所有可能的购鸡方案。
分析:设母鸡、公鸡、小鸡分别为x、y、z只,根据题目要求列出方程为:其中包括3个未知数,2个方程,此题有若干个解。
可用如下两种方法实现。
方法一:用三重循环来解决。
#include”iostream.h”#include”iomanip.h”void main(){Int x,y,z;Long k(0);Cout <<”x y z”<<endl;For(x=0;x<100;x++)For(y=0;y<100;y++)For(z=0;z<100;z++){K++;If(((3*x+2*y+0.5z)==100)&&((x+y+z==100)))Cout<<setw(9)<<x<<setw(9)<<y<<setw(9)<<z<<endl;}Cout<<”方法一内执行了”<<k<<”次”<<endl;}方法二:用两重循环来解决,相应程序段如下:Cout <<”x y z”<<endl;For(x=0;x<=33;x++)For(y=0;y<=50;y++){K++;z=100-x-y;if((3*x+2*y+0.5z)==100)cout<<setw(9)<<x<<setw(9)<<y<<setw(9)<<z<<endl;}Cout<<”方法二内循环执行了”<<k<<”次”<<endl;方法一利用三重循环表示三种鸡的只数,考虑了所有购鸡的情况,故共执行了1000000次循环;方法二进行了循环的优化,根据三种鸡共100只的关系,用二重循环实现;同时没种鸡的循环次数不必到100,因为还要满足价格100元得问题,故共执行了1734次循环。
3.2.3 穷举法应用实例2:百钱买百鸡_C语言程序设计案例教程(第2版)_[共2页]
break;if ( t == x ) /*是否通过循环条件出口*/printf("%d is prime\n", x );elseprintf("%d isn’t prime\n", x ); /* break出口*/}对于上面的程序,需要说明下面两点。
(1)在程序中,利用%求余运算来判断整除关系。
(2)在程序中,一旦发现x整除以某个整数,就说明x一定不是素数,因此,利用break语句立即结束循环。
这样一来,结束循环结构就有两种可能,一种是正常结束,表明x是素数;另一种是提前结束,表明x不是素数。
这两种状态可以通过t是否等于x来辨别。
下面是两组测试数据的运行结果:假设用户输入:28程序将显示:28 isn’t prime假设用户输入:37程序将显示:37 is prime3.2.3 穷举法应用实例2:百钱买百鸡【例3-3】百钱买百鸡。
“百钱买百鸡”是我国古代数学家张丘建提出的一个著名的数学问题。
假设某人有钱百枚,希望买一百只鸡;不同的鸡价格不同,公鸡5枚钱一只,母鸡3枚钱一只,而小鸡3只1枚钱。
试问:如果用百枚钱买百只鸡,可以包含几只公鸡、几只母鸡和几只小鸡。
〖问题分析〗从题目要求可知:公鸡、母鸡和小鸡的数量是有限的,都不会超过100。
通过对不同数量的公鸡、母鸡和小鸡进行组合,可以计算出购买这些鸡所用的花费,但这个题目要求找出那些花费正好为100枚钱且鸡的总数也为100只的情况。
因此,可以采用穷举法,将不同的公鸡、母鸡和小鸡的数量枚举一遍,找出那些符合题目要求的解。
〖算法描述〗为了穷举不同数量的公鸡、母鸡和小鸡,需要设置3个变量x、y和z,分别保存公鸡、母鸡和小鸡的数量。
解决这个问题的基本步骤如下。
(1)公鸡数量置0,并保存在x中,重复执行(2)。
(2)母鸡数量置0,并保存在y中,重复执行(3)。
(3)小鸡数量置0,并保存在z中,重复执行(4)。
(4)如果x+y+z==100并且花费一百枚,则打印输出x,y,z。
全国计算机等级考试C语言编程题(附答案)
C语言关键字速记(必考):enum char case const unsigned do default double else extern float for goto if int long register short signed struct switch typedef union void volatile while break return continue autoC语言的最小单位是函数。
C语言的结构有:顺序结构、循环结构和分支结构。
全国计算机等级考试c语言大题改错题(每小题10分,2小题/套)第1套1.程序Cmody021.c输出如下所示图形:*************************2.程序Cmody022.c的功能是求解百元买百鸡问题:设一只公鸡2元、一只母鸡1元、一只小鸡0.5元。
问一百元买一百只鸡,公鸡、母鸡、小鸡数可分别为多少?有多少种分配方案?-------------------------Cmody021.c-------------------#include<stdio.h>void main(){/**/int i;j;/**/for(i=1;i<=5;i++){for(j=1;j<=5-i;j++)printf(" ");/**/ for(j=1;j<=5;j++)/**/printf("*");printf("\n");}}-------------------------Cmody022.c------------------- #include<stdio.h>#include<conio.h>/**/int fun();/**/{int hen,cock,chicken,n=0;clrscr();for(cock=0;cock<=50;cock+=1)for(hen=0;hen<=100;hen=hen+1){chicken=2*(100-hen-2*cock);/**/if(cock+hen+chicken=100)/**/{n++;printf("%d-->hen:%d,cock:%d,chicken:%d\n",n,hen,cock,chi cken);if(n==20)getch();}}return n;}void main(){int num;num=fun();printf("\nThere are %d solutions.\n",num);getch();}第2套1.程序Cmody031.c的功能是:从键盘上输入两个整数,及一个运算符(+、-、*、/或%),进行相应的运算后输出运算的结果。
“百钱买百鸡”问题的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。
《C语言程序设计基础》教材参考答案-20140211
《C语言程序设计基础》教材参考答案包括各单元:一.随堂练习二.单元总结三.单元练习四.实训指导单元一程序设计宏观认识一.随堂练习【随堂练习1-1】1.根据上述示例模仿编程,输入正方形的边长,计算其面积。
#include <stdio.h>void main( ){ int a,s; //数据准备,边长a,面积sprintf("请输入正方形的边长:");scanf("%d",&a); //数据输入s=a*a; //数据计算printf("该正方形的面积为:%d.\n",s);}【随堂练习1-2】1.下面哪些标识符属于合法的用户自定义标识符:Main、void、_num、my$、a*、N4、3m、a-2答:合法的用户自定义标识符是:Main、_num、N42.结合【例1.2】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,哪些是用户自定义标识符。
答:关键字:void、int预定义标识符:include、main、printf、scanf用户自定义标识符:a、b、c3.分析【例1.2】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数)、函数体语句(说明语句、可执行语句)。
答:函数首部:void main( ),其中函数返回值类型为void、函数名为main、形式参数无;函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。
【随堂练习1-3】1.在VC++6.0环境中完成【例1.2】程序开发过程。
(略)2.查阅【例1.2】所对应的工程文件夹,了解相关文件的含义。
工程文件夹中:.CPP:用C/C++语言编写的源代码文件。
.DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。
项目文件,文本格式。
.DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中。
“百鸡问题”的两种解法
教学争鸣新课程NEW CURRICULUM“百鸡问题”的两种解法常煜(河北唐山市第12中学)很多人在理解数学时遇到了困难,便为自己找借口说:“数学太抽象了。
”其实,数学再抽象也是来源于我们的生活,只要用一种正确的态度和思想来对待它,它就会变得很容易。
在全面推进素质教育的今天,如何寓教于乐,有效地激发学生的学习兴趣和主动学习的能力尤为重要,本文试图通过利用计算机Visual FoxPro编程来解决数学中的一个传统的题目,给学生介绍一种用计算机快速求解数学问题的方法,以提高数学教学的生动性、趣味性。
我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?首先我们用普通数学方法解答如下:解:根据题目知道公鸡五文一只,而现在百钱买百鸡(100文钱买鸡),所以公鸡数量要最多为20。
设:母鸡M只,公鸡N只,小鸡100-M-N只,所以5N+3M+(100-M-N)/3=100且M,N为整数,所以可以得出正确答案:有三种情况:公鸡4只,母鸡18只,小鸡78只;公鸡8只,母鸡11只,小鸡81只;公鸡12只,母鸡4只,小鸡84只。
这道题其逻辑性正好与计算机程序性非常吻合,如果利用计算机Visual FoxPro编程来解这个问题,我们只要编写好程序,计算机就会很快计算出来,而且在变换其他数据组时也会很容易得到答案。
用Visual FoxPro编程如下:Cleagj=1xh=1do while gj<=20&&买公鸡的最大数mj=1do while mj<=33&&买母鸡的最大数xj=1do while xj<=100&&买小鸡的最大数if(5*gj+3*mj+xj/3)=100.and.(gj+mj+xj)=100?space(10)+str(xh)+'公鸡=',gj??space(10)+str(xh)+'母鸡=',mj??space(10)+str(xh)+'小鸡=',xj?xh=xh+1endifxj=xj+1enddomj=mj+1enddogj=gj+1enddo结果有三组:A:(4,18,78)B:(8,11,81)C:(12,4,84)数学是一种科学、一种语言、一种艺术、一种思维方法,是学校教育中永恒并且最重要的部分之一,要让学生学好数学,首先必须让学生发现数学中的美之所在,对数学感兴趣。
“百钱买百鸡”问题的C语言算法分析
“百钱买百鸡”问题的C语言算法分析作者:龙敏敏来源:《软件工程》2017年第03期摘要:C语言是使用时间最久和最普及的计算机高级程序设计语言之一,属于面向过程的程序设计语言,兼有汇编语言和高级语言的双重特点,是人们学习计算机程序设计的首选语言,也是学习其他计算机课程和进行软件开发的基础。
C语言程序设计中的循环语句是C语言的一个难点,可以用来解决许多具有规律性重复操作的实际问题,文章通过对“百钱买百鸡”这个问题的算法进行设计、分析和优化,以寻求解决问题的最优算法。
关键词:C语言;循环语句;百钱买百鸡中图分类号:TP311.1 文献标识码:AAbstract: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语言程序设计基础》教材参考题答案_20140211
word完美格式《C语言程序设计基础》教材参考答案包括各单元:一.随堂练习二.单元总结三.单元练习四.实训指导单元一程序设计宏观认识一.随堂练习【随堂练习1-1】1.根据上述示例模仿编程,输入正方形的边长,计算其面积。
#include <stdio.h>void main( ){ int a,s; //数据准备,边长a,面积sprintf("请输入正方形的边长:");scanf("%d",&a); //数据输入s=a*a; //数据计算printf("该正方形的面积为:%d.\n",s);}【随堂练习1-2】1.下面哪些标识符属于合法的用户自定义标识符:Main、void、_num、my$、a*、N4、3m、a-2答:合法的用户自定义标识符是:Main、_num、N42.结合【例1.2】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,哪些是用户自定义标识符。
答:关键字:void、int预定义标识符:include、main、printf、scanf用户自定义标识符:a、b、c3.分析【例1.2】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数)、函数体语句(说明语句、可执行语句)。
答:函数首部: void main( ),其中函数返回值类型为void、函数名为main、形式参数无;函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。
【随堂练习1-3】1.在VC++6.0环境中完成【例1.2】程序开发过程。
(略)2.查阅【例1.2】所对应的工程文件夹,了解相关文件的含义。
工程文件夹中:.CPP:用C/C++语言编写的源代码文件。
.DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。
项目文件,文本格式。
.DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中。
C语言上机经典题目!(1)
C语⾔上机经典题⽬!(1)《C 程序设计2》实验内容实验⼀:循环控制(⼀)1、编程计算 S=1*2+2*3+……+39*40 #include "stdio.h" main(){ int a,b,S=0;for(a=1;a<39;a++) {b=a+a+1;S=S+b;} printf("S=%d\n",S); getch();}2、编程计算 S=∑-71!i i =1!+2!+……+7!#include "stdio.h" main() {float n,s=0,t=1; for(n=1;n<=7;n++) {t*=n; s+=t; }printf("1+2!+3!...+20!=%.0f\n",s); getch(); }3、编写程序,计算如果每年按照年利率I (例如2%),投资S (例如5000),在第Y (例如10)年得到的总钱数M 。
公式:M=S*(1+I)Y#include "stdio.h" main() {float i,s,y,j,m,c=1;printf("please input I,S,Y:\n");scanf("%f,%f,%f",&i,&s,&y);m=s;for(j=1;j<=y;i++){c=1+i;m=m*c;}printf("m=%f\n",m);getch();4、编程输出九九乘法表。
#include "stdio.h"main(){ int i,j;for(i=1;i<10;i++){ for(j=1;j<=i;j++)printf("%d*%d=%-5d",i,j,(i*j));printf("\n");};getch();}实验⼆:循环控制(⼆)1、编写程序,输⼊⼀组字符(以#号结尾),对该组字符做⼀个统计,统计字母、数字和其它字符的个数,输出统计结果。
c语言面试基础题100道
c语言面试基础题100道C语言是一门广泛应用于计算机科学领域的编程语言,掌握C语言的基础知识对于计算机专业的学生和从事软件开发的人员来说至关重要。
在面试过程中,面试官通常会提问一些关于C语言基础的问题,以评估面试者的编程能力和对C语言的理解。
下面是100道C语言面试基础题,希望对大家有所帮助。
1. 什么是C语言?2. C语言的特点是什么?3. C语言的数据类型有哪些?4. 什么是变量?5. 如何声明一个变量?6. 如何给变量赋值?7. 如何输出变量的值?8. 什么是常量?9. 如何声明一个常量?10. 如何定义一个宏?11. 什么是运算符?12. C语言中的运算符有哪些?13. 什么是表达式?14. 什么是语句?15. C语言中的控制语句有哪些?16. 什么是条件语句?17. C语言中的条件语句有哪些?18. 什么是循环语句?19. C语言中的循环语句有哪些?20. 什么是函数?21. 如何定义一个函数?22. 如何调用一个函数?23. 什么是递归函数?24. 如何定义一个递归函数?25. 什么是数组?26. 如何声明一个数组?27. 如何给数组赋值?28. 如何访问数组中的元素?29. 什么是指针?30. 如何声明一个指针?31. 如何使用指针访问变量的值?32. 什么是结构体?33. 如何定义一个结构体?34. 如何访问结构体中的成员?35. 什么是联合体?36. 如何定义一个联合体?37. 如何访问联合体中的成员?38. 什么是枚举?39. 如何定义一个枚举?40. 如何使用枚举类型的变量?41. 什么是文件?42. 如何打开一个文件?43. 如何关闭一个文件?44. 如何读取文件中的内容?45. 如何写入内容到文件中?46. 什么是预处理器?47. C语言中的预处理器指令有哪些?48. 什么是头文件?49. 如何包含一个头文件?50. 什么是库函数?51. C语言中的库函数有哪些?52. 什么是指针数组?53. 如何声明一个指针数组?54. 如何使用指针数组?55. 什么是字符串?56. 如何声明一个字符串?57. 如何给字符串赋值?58. 如何比较两个字符串?59. 什么是动态内存分配?60. 如何使用malloc函数进行动态内存分配?61. 如何使用free函数释放动态分配的内存?62. 什么是指针的指针?63. 如何声明一个指针的指针?64. 如何使用指针的指针?65. 什么是函数指针?66. 如何声明一个函数指针?67. 如何使用函数指针?68. 什么是位运算?69. C语言中的位运算符有哪些?70. 什么是位字段?71. 如何定义一个位字段?72. 如何访问位字段中的位?73. 什么是类型转换?74. C语言中的类型转换有哪些?75. 什么是指针的算术运算?76. 如何进行指针的算术运算?77. 什么是命令行参数?78. 如何使用命令行参数?79. 什么是逗号运算符?80. 如何使用逗号运算符?81. 什么是静态变量?82. 如何声明一个静态变量?83. 什么是外部变量?84. 如何声明一个外部变量?85. 什么是局部变量?86. 如何声明一个局部变量?87. 什么是全局变量?88. 如何声明一个全局变量?89. 什么是静态函数?90. 如何声明一个静态函数?91. 什么是逻辑运算符?92. C语言中的逻辑运算符有哪些?93. 什么是位运算符?94. C语言中的位运算符有哪些?95. 什么是条件运算符?96. 如何使用条件运算符?97. 什么是断言?98. 如何使用断言?99. 什么是指针常量?100. 如何声明一个指针常量?以上是100道C语言面试基础题,希望对大家在面试中有所帮助。
C语言穷举法经典例题
令z=100-x-y 1%)
只进行101×101= 10201 次运算(前者的
第3章 程序控制结构
第3章 程序控制结构
继续优化
void main() 取x<=14,y<=25 只进行 { 15×26= 390 次运算 int x,y,z; for (x=0;x<=14;x++) for (y=0;y<=25;y++) if (7*x+4*y==100 ) { z=100-x-y; printf("cocks=%d,hens=%d,chickens=%d\n",x,y,z); } }
第3章 程序控制结构
百元买百鸡问题分析
void main() 结果:x=0,y=25,z=75 { x=4,y=18,z=78 int x,y,z; x=8,y=11,z=81 for (x=0;x<=100;x++) x=12,y=4,z=84 for (y=0;y<=100;y++) for (z=0;z<=100;z++) { if (z%3==0 &&x+y+z==100 && 5*x+3*y+z/3==100 ) printf("x=%d,y=%d,z=%d\n",x,y,z); } }
第3章 程序控制结构
穷举法求解韩信点兵
#include <stdio.h> void main() { int x; for (x=1; ;x++) { if (x%5==1 && x%6==5 && x%7==4 && x%11==10) { printf(" x = %d\n", x); } } } /*死循环——永远不会退出的循环*/
广西大学大一计算机专业C语言考试试卷及答案 (5)
广西大学20XX----20XX学年第二学期C语言程序设计期末试题学院专业级学号姓名得分一、单项选择题(30分,每题2分)每小题的四个选项中只有一个符合题目要求,请将正确选项前字母填在括号中。
1.若int a[][3]={1,2,3,4,5,6};则a[1][0]的值是【______】。
A. 4B. 2C. 1D. 52.执行下列程序段后,变量k的值是【______】。
int k=3, s[2];s[0]=k;k = s[1]*10;A)不确定B)0C)10 D)303.执行下列程序段后,变量k的值是【______】。
int k=3, s[2]={1};s[0]=k;k = s[1]+10;A)不确定B)0C)10 D)304.下面程序的输出结果是【______】。
#include <stdio.h>void main(void){int i, a[10];for(i=9;i>=0; i--)a[i]=10-i;printf("%d%d%d\n",a[2],a[5],a[8]);}A)258 B)741C)852 D)3695.下面程序的输出结果是【______】。
#include <stdio.h>void main(void){int a[3][3]={1,2,3,4,5,6,7,8,9},i;for(i=0;i<3; i++)printf("%d ",a[i][2-i]);}A)1 5 9 B)3 5 7C)1 4 7 D)3 6 96.下面程序的输出结果是【______】。
#include "stdio.h"void fun(int a[]){int i;for(j=0;j<5; j++)a[j]=j;}void main(void){int num[]={5,6,7,8,9}, i;fun(num);for(i=0;i<5; i++)printf("%d ", num[i]);}A. 56789B. 98765C. 01234D. 432107.下面程序的输出结果是【______】。
C语言题库 填空题部分+部分程序设计
1. 完成程序填空,实现输入两个数字,若两数相等,则直接输出两个数字,若不相等,则这两个数中的较大者等于这个较大者减去较小者,再作比较,若不相等则重复上述操作,直到两个数字相等为止。
输出相等的两个数字。
while(a 【a!=b】){ if (【a>b】)a=a-b;if (【b>a】)b=b-a; }2. "百鸡问题":鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?完成程序填空,实现求"百鸡问题" 公鸡一只5块钱,母鸡一只三块钱,小鸡三只一块钱,一百块钱买一百只鸡应该怎么买?也就是问一百只鸡中公鸡、母鸡、小鸡各多少?for(x=1;x<=20;【x++】)for(z=3;z<=99;【z+=3】)if((【5*x+3*y+z/3==100】)&&(x+y+z==100))3.完成程序填空,实现输出下图*************************【printf(“*”)】【printf(“\n”)】【j<=7+i】4.完成程序填空,将字符数组a的全部字符复制到字符数组b中(要求不用strcpy函数)。
printf("str1:【%s】\n",str1);for(i=0;str1[i]【!=’\0’】;i++)str2[i]=【str1[i]】;5. 将a++ 或 ++a 或 a-- 或 --a 填入程序填空中,实现如图所示的输出。
(填入其他无效)【a++】【a--】【--a】6.完成程序填空,实现输入4个整数,要求按由小到大的顺序输出。
{ t=a;【a=c】;c=t;}{ t=b;b=c;【c=t】;}{【t=c】;c=d;d=t;}7. 完成程序填空,输出所有的水仙花数。
水仙花数是一个三位数,其个、十、百位数字三次方之和为这个数。
例如: 371=3*3*3+7*7*7+1*1*1for(num=100; 【num<=999】; num++)shi=【num/10%10】if (【num==bai*bai*bai+shi*shi*shi+ge*ge*ge】)8. 完成程序填空,实现的功能是输出如下形式的方阵:13 14 15 169 10 11 125 6 7 81 2 3 4for(j=4; j>=1 ; j--){for(i=1; i<=4; i++){ x=(j-1)*4+i ;printf("%4d",x); } }9. 【a=’B’】;b='O';c='Y';putchar(a);putchar(b);putchar(c);putchar(‘\n’);10. 完成程序填空实现输入两个数a、b,判断如果a<b,则交换两数,否则保持两数值不变,这样可以使得a始终大于b的值。
百鸡问题答案
百鸡问题答案【篇一:百鸡问题】,值钱伍;鸡母一,值钱三;鸡鶵三,值钱一。
凡百钱买鸡百只,问鸡翁、母、鶵各几何?答曰:鸡翁四,值钱二十;鸡母十八,值钱五十四;鸡鶵七十八,值钱二十六。
又答:鸡翁八,值钱四十;鸡母十一,值钱三十三,鸡鶵八十一,值钱二十七。
又答:鸡翁十二,值钱六十;鸡母四、值钱十二;鸡鶵八十四,值钱二十八。
”原书说明这个问题流传很广,解法很多,但从现代数学观点来看,实际上是一个求不定方程整数解的问题。
解法如下:设公鸡、母鸡、小鸡分别为x、y、z 只,由题意得:①……x+y+z =100②……5x+3y+(1/3)z =100x =12;y =4;z =84c语言解法#include stdio.hvoid main(){int cocks=0,hens,chicks;while(cocks=20){: k s; q# s1 m4 nhens=0;while(hens=33){( e2 n/ \) `9 t% e* f( r6 xchicks=100-cocks-hens;if(5.0*cocks+3.0*hens+chicks/3.0==100.0)1 t0 g4 {+ e c: h9 n/a8 y printf(公鸡%d只,母鸡%d只,小鸡%d只\n\n,cocks,hens,chicks); hens++;}cocks++;}}输出结果为:公鸡0只,母鸡25只,小鸡75只公鸡4只,母鸡18只,小鸡78只公鸡8只,母鸡11只,小鸡81只公鸡12只,母鸡4只,小鸡84只java语言解法public class baijiwenti4 c. m0 i k! }/ m/ n z{0 t4 j8 f0 q n: j: z4 b; ipublic static void main (string [] args)+ b6 t s2 i/ e c: c{for (int x = 0; x = 19; x++){2 z) l8 q% x% @( s$ sfor (int y = 0; y = 33; y++)7 h6 r5 ^ w# t9 l{, b7 d4 q7 `) z2 k i% n7 [int z = 100 - x - y;if((x * 5 + y * 3 + z / 3 == 100 ) z % 3 == 0){# h1 q. t( j/ s y/ r, ssystem.out.println(可买鸡翁只数: + x);system.out.println(可买鸡母只数: + y);system.out.println(可买鸡雏只数: + z);/ r8 f+ ? b4 ? q4 | r}/ c$ u/ w7 k8 {+ h7 d}}}}【篇二:著名数学难题赏析-百钱百鸡】p class=txt>数学教研组(共两课时120分钟)我国古代数学书《张邱建算经》中有如下问题,也就是著名的百鸡百钱问题。