C语言入门学习C上机实验三要求_第1页
C语言入门学习C上机实验三要求_第2页
C语言入门学习C上机实验三要求_第3页
C语言入门学习C上机实验三要求_第4页
C语言入门学习C上机实验三要求_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、上机实验三循环结构综合练习【实验二参考答案见后】目的和要求:(1)熟练掌握 while、dowhile、for语句的应用;(2)掌握循环的嵌套;(3)掌握辗转相除法、迭代法、递推法等重要算法的基本要领;(4) 了解将运行结果保存到数据文件的一般步骤。实验内容:一、编程题:1 .任意读入两个正整数,输出它们的最小公倍数。【提示:先用辗转相除法求出两数的最大公约数,再用二者的乘积除以最大公约数即得最小公倍数。例如:75和120的最大公约数是 15,而75*120/15=600即为最小公倍数。】234 2n2n+1-x-x + x+x- x+ x的值。当某0x1 ),使用递推法计算 x2 .任意读入

2、的彳t ( -6时终止。(当x为0.5时,和值为0.333334)项的绝对值小于 10 【系统函数fabs(x)的功能是计算x的绝对值,前面需加math . h头文件】3 . 一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。编程计 算:“它在第10次落地后,反弹多高”;“从第一次落下到第十次反弹,总共经过了多少米”。(结果:反弹 0.097656 ,共 299.707031 )4 .将1元人民币兑换成1分、2分、5分硬币,输出所有的兑换结果,并将结果保留到e盘文本文件rmb.txt中。(你能统计出一共有多少种兑换结果吗?)【要求输出结果如下所示】1 分:0,2 分:

3、0, 5 分:201 分:0, 2 分:25, 5 分:101 分:100, 2 分:0, 5 分:0【文件使用“五部曲”见最后!】 5.模仿下列“蓝色例题”,编程输出形如下图的平行四边形。【要求:行数、每行星号数(即列数)由键盘输入。】【提示:使用双重循环完成此题。外循环控制行数、内循环控制每行的空格数和星号数,每行输出的空格数比前一行少一个。】*以下程序输出形如下图的平行四边形。*#include main()int i, j, k;int h, l;scanf(%d%d,&h,&l);for(i=1; i=h; i+)/*控制输出h 行*/for(k=1; k=i; k+)printf(

4、 );/*每行输出若干个空格,每行比前一行多输出一个空格 */for(j=1; j=l; j+)printf(*); /*每行输出 l 个星号 */);/*每行最后换行*/二、完善题以下程序的功能是: 任意读入一个长整型数据, 然后依次从低位到高位输出其每一位数位上的数字,最后输出其符号位,若为 0,则不输出符号位,而输出“ is 0 ! ” 【注意:每空只能填一个语句或表达式,但语句的分号题目已给出。 】例如:读入的数据为-3265478 ,则输出为:8745623-#includemain()long x, y;char fh;printf(*input*n);y=x; /*用 y 保留住

5、 x 的原值 */if(x0)fh=- ; ;elsefh=+;printf(*output*n);doprintf(%dn, x_x0010_);/* 注意 x_x0010_的作用! */x=x/10;while(x!=0);/* 思考:为什么用直到型循环? */if()printf(%cn, fh);elseprintf(is 0!n);【 实验二参考答案】编程题:1给班主任编写一个小程序:当输入的学生成绩介于90 到 100 分时,输出等级字符a ;当输入的学生成绩介于80 到 89 分时, 输出等级字符b; 当输入的学生成绩介于70 到 79 分时, 输出等级字符c ;当输入的学生成绩

6、介于60 到 69 分时,输出等级字符d ;当输入的学生成绩小于 60分时,输出等级字符e 。【要求用两种方法完成本题:方法一使用多分支if语句,文件名为11.c;方法二使用switch语句(此方法为 附加 题,文件名为 12.c 。 提示 -先弄懂课堂例题“铅笔打折”的 switch 写法) 】【方法 1: if 】#includemain()int fs;printf(input fs:0100!n);scanf(%d,&fs);if(fs60)printf(en);else if(fs70)printf(dn);else if(fs80)printf(cn);else if(fs90)p

7、rintf(bn);elseprintf(an);【方法 2: switch 】#includemain()int fs;printf(input fs:0100!n); scanf(%d,&fs);fs/10)switch(case 10:case 9: printf(an);break;case 8: printf(bn);break;case 7: printf(cn);break;case 6: printf(dn);break;default: printf(en); 2.以下程序完成的功能是:任意读入一个整数,如果是非负数,则进一步判断其是否为奇数,是就将字符型变量 flag的值修

8、改为j(代表奇数的意思);如果不是非负数,则将 flag的值修改 为f(代表负数的意思),最后输出flag的值。【程序的开头、结束部分已给出,请将中间红色省略号部分改为合适的语句】#includemain()int x;char flag=o; /*大写字母o,代表偶数的意思*/scanf(%d, &x);printf(%d: %cn, x , flag);#includemain()int x;char flag=o; /*小写字母o,代表偶数的意思*/scanf(%d, &x);if(x=0)if(x%2!=0)flag=j; /*用)取消内if的配对资格*/elseflag=f;prin

9、tf(%d: %cn, x , flag);11111.99357.编程求出(值约为 2.937775)的和。311111.99537:将上式改为(值约为 0.780399)】【,请编程求该式之和。附加题#includemain()int i;float s=0;i=1;while(i=99)s=s+ 1.0/i;i=i +2; printf(%fn,s);11111.99573:将上式改为(值约为0.780399,请编程求该式之和。【附加题)】【利用前项的符号乘以 -1得后项的符号】#includemain()int i , t=1;float s=0;i=1;while(i=99)s=s+

10、1* 1.0/i;i=i+2;t=t*( -1);printf(%fn,s);4.编程输出100以内的所有素数。文件使用“五部曲”:1、文件开头加 #include 因为程序中要使用与文件相关的函数。2、定义一个文件指针变量【格式】file*文件指针变量名;3、在所有定义之后,用open函数在内存中以“写入格式”为文件开辟一个空间,以便存入输出结果【格式】 文件指针变量名=fopen(文件路径字符串,眇奶);【注意:路径分隔符必须是双反斜杠! 】4、在应该出现printf 语句的位置,将该语句复制一遍(将printf 函数名改为可 ,与原语句构成复合语句(有时,并且增加一个参数,即文件指针) printff省)5、在主函数的最后一个“ ”前写入文件关闭语句fclose

温馨提示

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

评论

0/150

提交评论