项目5 综合三 循环综合应用_第1页
项目5 综合三 循环综合应用_第2页
项目5 综合三 循环综合应用_第3页
项目5 综合三 循环综合应用_第4页
项目5 综合三 循环综合应用_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目五循环结构程序设计综合三循环综合应用C语言程序设计任务驱动式教程导学【问题1】如何实现大写字母与小写字母的转换?【问题2】转义字符:\t、\b、\r、\n、\f分别具有什么含义?

思考【问题3】符号常量定义的一般格式为:?任务1:求给定整数的绝对值特别提示提出问题分析问题相关知识任务实施任务一求给定整数的绝对值-工作任务工作任务

百元百鸡问题

百元百鸡问题。我国古代数学家张丘键在《算经》中出了一道题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?工作任务任务一求给定整数的绝对值-问题分析问题分析百元百鸡问题:设一百只鸡中公鸡、母鸡、小鸡分别为x,y,z,问题化为三元一次方程组。x、y、z为正整数,且z是3的倍数;由于鸡和钱的总数都是100。问题分析x、y、z的取值范围:⑴x的取值范围为1~20;⑵y的取值范围为1~33;⑶z的取值范围为3~99,步长为3。

(百钱)(百鸡)用穷举的方法,遍历x,y,z的所有可能组合,最后得到问题的解。任务一求给定整数的绝对值-任务实施任务实施百元百鸡问题请参照如下运行结果,编写程序。任务实施输出结果:公鸡

母鸡

小鸡418788118112484任务一求给定整数的绝对值-源程序#include<stdio.h>voidmain(){

intgongji,muji,xiaoji;

for(gongji=1;gongji<=20;gongji++)//公鸡可能的数量范围

{

for(muji=1;muji<=33;muji++)

//母鸡可能的数量范围

{

for(xiaoji=3;xiaoji<=100;xiaoji=xiaoji+3)//小鸡可能的数量范围

{

if((xiaoji/3+muji*3+gongji*5==100)&&(xiaoji+muji+gongji==100))

printf("%4d\t%4d\t%4d\n",gongji,muji,xiaoji);

}

}

}}输出结果:公鸡

母鸡

小鸡418788118112484任务一求给定整数的绝对值-工作任务工作任务四方定理验证四方定理,输入任意一个自然数,都可用四个数的平方和来表示。工作任务任务一求给定整数的绝对值-问题分析问题分析四方定理:可以定义变量n用来输入任意一个自然数,用变量i,j,k,l分别代表4个数,然后对四个变量i,j,k,l采用穷举试探的方法进行计算,当满足定理中的条件时输出计算结果并退出程序的执行。因此需要用四重循环来实现。问题分析任务一求给定整数的绝对值-任务实施任务实施验证四方定理,输入任意一个自然数,都可用四个数的平方和来表示。请参照如下运行结果,编写程序。任务实施任务一求给定整数的绝对值-源程序#include<stdio.h>intmain(){longi,j,k,l,n; /*定义变量为长整型*/

printf("请输入一个数:\n");

scanf("%ld",&n); /*输入n的值*/

for(i=0;i<=n;i++) /*对i,j,k,l进行穷举*/for(j=0;j<=i;j++) for(k=0;k<=j;k++) for(l=0;l<=k;l++) if(i*i+j*j+k*k+l*l==n) /*判断是否满足定理要求*/ { printf("%ld*%ld+%ld*%ld+%ld*%ld+%ld*%ld=%ld\n" ,i,i,j,j,k,k,l,l,n);/*将满足要求的结果输出*/ return0; /*函数返回值0,即退出程序的执行*/ }}任务一求给定整数的绝对值-工作任务工作任务简单计算器编写程序实现一个带有菜单并能够一直循环输入进行计算的简单计算器。工作任务任务一求给定整数的绝对值-问题分析问题分析简单计算器:

1)使用exit();和system();均需加头文件:#include<stdlib.h>exit(0);表示正常退出系统;system("cls");表示清屏。

2)for(;;)循环语句的条件默认为“1”,即永远为“真”,保证菜单始终显示。

3)使用getch();必须加头文件:#include<conio.h>4)getchar();//获得一个字符且显示

getch();//获得一个字符且不显示,起暂停的作用问题分析任务一求给定整数的绝对值-任务实施任务实施编写程序实现一个带有菜单并能够一直循环输入进行计算的简单计算器。请参照如下运行结果,编写程序。任务实施任务一求给定整数的绝对值-源程序编写程序实现一个简单的计算器。(用菜单设计)

#include<stdio.h>#include<stdlib.h>//exit()、system()#include<conio.h>//getch()voidmain(){floatnum1,num2,result;intch;charop;for(;;)//永远为"真"{system("cls");//清屏

printf("-------------------------------------------\n");printf("|菜单选择v1.1|\n");printf("-------------------------------------------\n");printf("|1.加法|\n");printf("|2.减法|\n");printf("|3.乘法|\n");printf("|4.除法|\n");printf("|0.退出|\n");printf("-------------------------------------------\n");printf("请选择(0~4):");scanf("%d",&ch);switch(ch){case1:printf("加法!");

printf("输入(第一个数、运算符、第二个数):");scanf("%f%c%f",&num1,&op,&num2);result=num1+num2;printf("%.2f%c%.2f=%.2f\n",num1,op,num2,result);break;case2:printf("减法!");printf("输入(第一个数、运算符、第二个数):");scanf("%f%c%f",&num1,&op,&num2);result=num1-num2;printf("%.2f%c%.2f=%.2f\n",num1,op,num2,result);break;case3:printf("乘法!");printf("输入(第一个数、运算符、第二个数):");scanf("%f%c%f",&num1,&op,&num2);result=num1*num2;printf("%.2f%c%.2f=%.2f\n",num1,op,num2,result);break;case4:printf("除法!");printf("输入(第一个数、运算符、第二个数):");scanf("%f%c%f",&num1,&op,&num2);result=num1/num2;printf("%.2f%c%.2f=%.2f\n",num1,op,num2,result);break;case0:exit(0);break;//退出

}getch();//获得一个字符且不显示,起暂停的作用}}拓展提高1.古代某工地需要搬砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块。问用45人正好搬45块砖,有多少种搬法。题目分析:这是一个组合问题,由3个因数决定组合的数量(即搬法的种数):男人、女人和小孩的人数,人数的取值范围为0~45,各类人数的取值与其他类人数的取值无关,但最后加起来正好45人。因此对于每类人数的取值都要反复地试,最后确定正好满足45人搬45块砖的组合。练一练拓展提高任务一任务一拓展提高-程序代码程序example.c如下:#include<stdio.h>intmain(){intmen,women,child;for(men=0;men<=45;men++)for(women=0;women<=45;women++)for(child=0;child<=45;child++)if(men+women+child==45

&&men*3+women*2+child*0.5==45)printf("men=%dwomen=%dchild=%d\n",men,women,child);return0;}上述程序有一些值得改进的地方。由于最多只有45块砖,男人的数量不会超过15人,女人的数量不会超过22人,而且男人和女人的数量确定下来后,小孩的数量是:

小孩数=45-男人数-女人数改进后的程序如下:#include<stdio.h>intmain(){intmen,women,child;for(men=0;men<=15;men++)for(women=0;women<=22;women++){child=45-men-women;if(men*3+women*2+child*0.5==45)printf("men=%dwomen=%dc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论