




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、c 语言程序设计实验与习题指导颜晖答案【篇一: c 语言程序设计 谭浩强版 何钦铭颜晖版习题答案全集】【程序 1】题目:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是 1、2、3、4。组成所有的排列后再去掉不满足条件的排列。2.程序源代码: main()int i,j,k; printf(n);for(i=1;i5;i+) *以下为三重循环 */ for(j=1;j5;j+) for (k=1;k5;k+)if (i!=ki!=jj!=k) /* 确保 i、j、k 三位互不相同 */ printf(%d,%d,%d
2、n,i,j,k); 【程序 2】 题目:企业发放的奖金根据利润提成。利润 (i)低于或等于 10 万元时,奖金可提 10% ;利润高 于 10 万元,低于 20 万元时,低于 10 万元的部分按 10% 提成,高于 10 万元的部分,可可提 成 7.5% ;20 万到 40 万之间时,高于20 万元的部分,可提成 5%;40 万到 60 万之间时高于 40 万元的部分,可提成 3%;60 万到 100 万之间时,高于 60 万元的部分,可提成 1.5% ,高于 100 万元时,超过 100 万元的部分按 1%提成,从键盘输入当月利润 i,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
3、注意定义时需把奖金定义成长整型。2.程序源代码:main() long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf(%ld,i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i=100000) bonus=i*0.1; else if(i=200000) bonus=bonus1+(i-100000)*0.075;else
4、 if(i=400000) bonus=bonus2+(i-200000)*0.05;else if(i=600000)bonus=bonus4+(i-400000)*0.03; else if(i=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01; printf(bonus=%d,bonus);- 【程序 3】题目:一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少? 1.程序分析:在 10 万以内判断,先将该数加上 100 后再开方,再将该数加上 2
5、68 后再开方,如果开方后 的结果满足如下条件,即是结果。请看具体分析:2.程序源代码: #include math.hmain() long int i,x,y,z;for (i=1;i100000;i+) x=sqrt(i+100);/*x 为加上 100 后开方后的结果 */y=sqrt(i+268);/*y 为再加上 168 后开方后的结果 */if(x*x=i+100y*y=i+268)/* 如果一个数的平方根的平方等于该数,这说明此数是完全平方数 */printf(n%ldn,i); -【程序 4】 题目:输入某年某月某日,判断这一天是这一年的第几天? 1.程序分析:以 3 月 5
6、 日为例,应该先把前两个月的加起来,然后再加上 5 天即本年的第几天,特殊 情况,闰年且输入月份大于 3 时需考虑多加一天。2.程序源代码: main()int day,month,year,sum,leap; printf(nplease input year,month,dayn);scanf(%d,%d,%d,year,month,day);switch(month)/* 先计算某月以前月份的总天数 */ case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:su
7、m=120;break; case 6:sum=151;break;case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; default:printf(data error);break; sum=sum+day; /* 再加上某天的天数 */if(year%400=0|(year%4=0year%100!=0)/* 判断是不是闰年 */ leap=1; else leap=0;i
8、f(leap=1month2)/* 如果是闰年且月份大于 2,总天数应该加一天 */sum+;printf(it is the %dth day.,sum);-【程序 5】题目:输入三个整数 x,y,z ,请把这三个数由小到大输出。 1.程序分析:我们想办法把最小的数放到 x 上,先将 x 与 y 进行比较,如果 xy 则将 x 与 y 的值进行交换, 然后再用 x 与 z 进行比较,如果 xz 则将 x 与 z 的值进行交换,这样能使 x 最小。2.程序源代码: main()int x,y,z,t; scanf(%d%d%d,x,y,z);if (xy)t=x;x=y;y=t; /* 交换
9、x,y 的值*/ if(xz)t=z;z=x;x=t;/* 交换 x,z 的值*/ if(yz)t=y;y=z;z=t;/* 交换 z,y 的值*/ printf(small to big: %d %d %dn,x,y,z);- 【程序 6】题目:用 *号输出字母 c 的图案。1.程序分析:可先用 *号在纸上写出字母 c,再分行输出。2.程序源代码: #include stdio.hmain() printf(hello c-world!n); printf( *n);printf( *n); printf( * n); printf( *n);-【程序 7】题目:输出特殊图案,请在 c 环境
10、中运行,看一看, very beautiful!1.程序分析:字符共有 256 个。不同字符,图形不一样。2.程序源代码: #include stdio.h main()char a=176,b=219; printf(%c%c%c%c%cn,b,a,a,a,b);printf(%c%c%c%c%cn,a,b,a,b,a);printf(%c%c%c%c%cn,a,a,b,a,a);printf(%c%c%c%c%cn,a,b,a,b,a);printf(%c%c%c%c%cn,b,a,a,a,b);- 【程序 8】题目:输出 9*9 口诀。1.程序分析:分行与列考虑,共 9 行 9 列,i
11、控制行, j 控制列。2.程序源代码: #include stdio.hmain() int i,j,result; printf(n);for (i=1;i10;i+) for(j=1;j10;j+) result=i*j;printf(%d*%d=%-3d,i,j,result);/*-3d 表示左对齐,占 3 位*/ printf(n);/* 每一行后换行 */ -【程序 9】题目:要求输出国际象棋棋盘。1.程序分析:用 i 控制行, j 来控制列,根据 i+j 的和的变化来控制输出黑方格,还是白方格。 2.程序源代码: #include stdio.hmain()int i,j;for
12、(i=0;i8;i+) for(j=0;j8;j+) if(i+j)%2=0) printf(%c%c,219,219);else printf( ); printf(n); -【程序 10】 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 1.程序分析:用 i 控制行, j 来控制列, j 根据 i 的变化来控制输出黑方格的个数。2.程序源代码: #include stdio.hmain() int i,j;printf(11n);/* 输出两个笑脸 */ for(i=1;i11;i+)for(j=1;j=i;j+) printf(%c%c,219,219); printf(n);【程序 11
13、】 题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月 后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列 1,1,2,3,5,8,13,21.2.程序源代码:main()long f1,f2;int i; f1=f2=1;for(i=1;i=20;i+) printf(%12ld %12ld,f1,f2);if(i%2=0) printf(n);/* 控制输出,每行四个 */【篇二: c 语言实验指导书全教程】class=txt 一、本实验课的性质、任务与目的本实验课目的是使学生掌握 c 语言编程的常用方法,
14、以任务驱动教学法,重点培养学生的编程能力,为以后学习后继专业课程和进行软件开发打下基础。通过学习能够运用 c 语言中的各个知识点编写能完成一定功能的程序。训练学生进行复杂程序设计的技能和培养良好程序设计的习惯,实验教学是培养应用型人才的重要环节,其重要程度决不亚于知识的传授。把高级语言的学习与程序设计、上机实践紧密地结合起来,以提高学生能灵活运用新的知识分析问题和解决问题的能力。二、本实验课所依据的课程基本理论本实验课基于 c 语言的语法和词法规则、数据的表示及算法的处理,而语法及算法正是高级语言程序设计的主要研究对象。 c 语言程序设计的主要任务是: c 语言是一种应用广泛结构化程序设计语言
15、,本课程介绍 c 语言的基本概念、基本语法和编程方法,重点描述 c语言的结构化的特征,并通过本课程的学习,使学生掌握一定的结构化程序设计的知识,以及用 c 语言编写程序的能力。三、实验类型与要求在做每个实验之前,让学生对本次实验相关的内容进行预习、算法设计、流程图的设计、编写程序,做好实验的准备工作;写出预习报告,画出流程图,要求独立完成。每组 1 人,实验共 40 学时 五、考核方式与评分办法实验总成绩 =出勤情况 *10%+ 实验报告 *20%+ 平时*30%+ 实验内容 *40%六、本实验课配套教材或实验指导书教材: 苏小红主编 .c 语言大学实用教程,电子工业出版社 ,十一五国家级规划
16、教材, 2008 .7 参考书: 1 何钦铭 ,颜晖主编 .c 语言程序设计,高等教育出版社 ,十一五规划教材,2008 .1 2 颜晖主编 .c 语言程序设计实验指导 ,高等教育出版 社,2008.13 张引,何钦铭等 . c 程序设计基础课程设计 ,浙江大学出版社 ,2007.94 谭浩强 . c 程序设计题解与上机指导 .北京:清华大学出版社 .2006年 3 月第 3 版 5 谭浩强 . c 程序设计试题汇编 .北京:清华大学出版社.2006 年 3 月第 2 版 6 夏宽理 . c 语言程序设计 .北京:中国铁道出版社.2006 年 2 月第 1 版 7 夏宽理 . c 语言程序设计
17、上机指导与习题解答 .北京:中国铁道出版社.2006.2 8 王士元 . c 高级实用程序设计 .北京:清华大学出版 社.1996 年 1 月第 1 版 9 谭浩强 . c 程序设计 .北京:清华大学出版社.2006 年 3 月第 3 版七、实验报告要求上机实验目的在于:通过验证课本中的内容及自己编写的程序,加深对课本中词法、语法的掌握;熟悉所用的 c 语言开发环境;上机调试自己的程序,学会编程,重要是能上机调试通过,调试经验是通过自己的直接实践来累积。上机实验的要求:课前准备好上机所要的程序源代码;上机输入和调试自己的程序,努力独立完成调试过程,自行解决编译错误;实验结束,认真编写实验报告在
18、机器上运行程序代码,每次实验成绩分为优、良、及格、不及格,未参加的为 0 分。要求认真编写实验报告。报告内容应包含以下内容:1实验题目2实验目的和要求 3解题思路4调试过程(实验过程出现的问题及解决的方法或尚未解决的问题)5程序代码及运行结果 6实验结果分析 7. 教师评语第二部分: c 语言程序设计的运行环境 vc+6.0-vc+ 6.0 集成开发环境的使用 在众多的面向对象程序设计语言中, microsoft 公司的 vc+6.0 独树一帜,是一个集程序编辑、编译、连接和调试于一体的 c 语言程序 开发环境。在 windows 环境下,操作方便。 vc 环境中运行 c 语言源程序的步骤 1
19、、启动 visual c+6.0 开发环境 2、创建一个项目(1)在 visual c+6.0 开发环境主窗口,单击 file 菜单中的 new 选项,显示一个 new 对话框,如下:(2)单击 projects ,选择 win32 console applocation,并在右侧相应的文本框中填入项目的路径和名称 (3)在弹出的 win32 console applocation-step 1 of 1 对话框中选择 an empty project 单选项,然后单击 finish.(4) 最后在 new project information 对话框中单击 ok 。 3、建立 c源程序文件
20、(1)选择菜单命令 project | add to project | new, 弹出 new 对话框。 (2)在 new 对话框的 files 中选择 c+ source file ,并写入文件名,单击 ok 4 、编辑 c 语言源程序(1)在文件编辑窗口中输入源代码 (2)选择 file | save, 保存程序5、建立并运行可执行程序(1)选择菜单命令 build | build filename.ext 建立可执行文件 (2)选择菜单命令 build | execute filename.exe 运行程序,观察显示的内容 6、关闭工作空间选择菜单命令 file | close workspace 关闭工作空间。 例:从键盘上输入两个整数,输出两者中的较大数。 1、新建一 cpp文件后,在编辑窗口输入源代码如下:2、编译、连接后,从键盘上输入 12,34 回车,则可查看程序运行结果:第三部分:实验内容【目的与要求】1、了解 vc 环境下 c 语言的运行环境,熟悉编译系统的操作环境。2、了解在该系统上如何编辑和运行一个 c 程序。3、通过运行简
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年长春医学高等专科学校公开招聘编外聘用制工作人员(2人)考前自测高频考点模拟试题完整参考答案详解
- 2025北京大兴区旧宫镇红星派出所流动人口和出租房屋管理员招录1人模拟试卷含答案详解
- 2025大河智运物流(河南)有限公司招聘10人模拟试卷及完整答案详解1套
- 2025年国家统计局平顶山调查队面向社会公开招聘劳务派遣人员4名考前自测高频考点模拟试题(含答案详解)
- 2025年苏州市相城区教育系统公开招聘事业编制教师66人模拟试卷有完整答案详解
- 海外安全官培训课件
- 安全培训考证课件
- 2025贵州黔西南州教育局公益性岗位招聘4人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025年临沂市商业学校公开招聘教师(18名)模拟试卷及答案详解1套
- 2025贵州机电职业技术学院第十三届贵州人才博览会引进人才15人考前自测高频考点模拟试题有答案详解
- 王崧舟“诗意语文”教学艺术剖析
- 生产工单结案管理规定
- 国有企业招标采购相关法律法规与国有企业采购操作规范
- 师德师风负面清单及整改台账
- 私募基金资金募集服务协议模板
- 小学六年级科学《太阳能》
- 【下载】新概念英语1-4册词汇带音标Excel版
- GB/T 23932-2009建筑用金属面绝热夹芯板
- 学生手册正文
- 骨骼肌肉疼痛康复治疗新进展课件
- 农业昆虫分类演示文稿课件
评论
0/150
提交评论