哈工大C语言实验题完整版.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《哈工大C语言实验题完整版.pdf》由会员分享,可在线阅读,更多相关《哈工大C语言实验题完整版.pdf(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 哈工大 C 语言实验题 标准化管理处编码BBX968T-XBB8968-NNJ668-MM9N Q308.(10 分)第 5 章 实验 2:体型判断。医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法。体指数计算公式是:t=w/(h*h)其中:t 是体指数;w 是体重,其单位为千克;h 是身高,其单位为米。根据给定的体指数 t 计算公式,可判断你的体重属于何种类型:当 t18 时,为低体重;当 18t25 时,为正常体重;当 25t27 时,为超重体重;当 t27 时,为肥胖。*输入提示信息格式:Please enter h,w:n*输入数据格式要求
2、:%f,%f(先读入身高,再读入体重,身高以米读入,体重以千克读入)*输出数据格式要求:当 t18 时,输出:Lower weight!n 当 18t25 时,输出:Standard weight!n 当 25t27 时,输出:Higher weight!n 当 t27 时,输出:Too fat!n#include#include main()float t,w,h;printf(Please enter h,w:n);scanf(%f,%f,&h,&w);t=w/(h*h);if(t=18&t=25&t27)printf(Higher weight!n);else printf(Too fa
3、t!n);return 0;Q586.(10 分)编写一个程序,输入年份和月份,判断该年是否是闰年,并根据给出的月份判断是什么季节和该月有多少天(闰年的条件是年份能被 4 整除但不能被 100 整除,或者能被400 整除;规定 35 月为春季,68 月为夏季,911 月为秋季,1、2 和 12 月为冬季)。*输入格式要求:%d,%d 提示信息:Please enter year,month:*输出格式要求:%d is leap yearn%d is not leap yearn The season is spring/summer/autumn/winter The number of da
4、ys of this month is%dn 程序运行示例如下:实例 1:Please enter year,month:2012,11 2012 is leap year The season is autumn The number of days of this month is 30 实例 2:Please enter year,month:2013,12 2013 is not leap year The season is winter The number of days of this month is 31#include#include main()int year=0,l
5、eap=0,mon=0,day=0;printf(Please enter year,month:);scanf(%d,%d,&year,&mon);if(year%100!=0&year%4=0)|(year%100=0&year%400=0)printf(%d is leap yearn,year);leap=1;else printf(%d is not leap yearn,year);switch(mon)case 1:case 2:case 12:printf(The season is wintern);break;case 3:case 4:case 5:printf(The
6、season is springn);break;case 6:case 7:case 8:printf(The season is summern);break;case 9:case 10:case 11:printf(The season is autumnn);break;switch(mon)case 1:case 3:case 5:case 7:case 8:case 10:case 12:day=31;break;case 4:case 6:case 9:case 11:day=30;break;case 2:if(leap=1)day=29;else day=28;printf
7、(The number of days of this month is%dn,day);Q3161.(10 分)请用 else if 多分支条件判断语句编程设计一个简单的计算器程序。要求:(1)请用户按以下形式从键盘输入表达式:操作数 运算符 op 操作数(2)然后计算表达式的值*输入提示信息*:无*输入数据格式*:%f%c%f*输出数据格式*:%.2f%c%.2f=%.2fn 若若输入的运算符是除法运算符/,当除数为 0 时,输出数据格式为:dat is 0!Error!n 若输入的运算符不是加(+)、减(-)、乘(*)、除(/),则输出数据格式为:Error!n 友情提示:用户输入的运算
8、符为算术运算符:加(+)、减(-)、乘(*)、除(/)。用字符变量 op 表示;操作数和操作数 为浮点型数据,分别用浮点型变量 dat1、dat2 表示。程序运行结果如下所示:1+2 1.00+2.00=3.00#include#include main()float a=0,b=0;char op;scanf(%f%c%f,&a,&op,&b);if(op=+)printf(%.2f%c%.2f=%.2fn,a,op,b,a+b);else if(op=-)printf(%.2f%c%.2f=%.2fn,a,op,b,a-b);else if(op=*)printf(%.2f%c%.2f=%
9、.2fn,a,op,b,a*b);else if(op=/)if(b!=0)printf(%.2f%c%.2f=%.2fn,a,op,b,a/b);else printf(dat is 0!Error!n);else printf(Error!n);Q3185.(10 分)实验二(2016 春刘秉权 C 语言课):根据输入的百分制成绩 score,转换成相应的五分制成绩 grade 后输出。转换规则为(要求用 switch 语句实现):当 score 大于等于 90 且小于等于 100 时,grade=A;当 score 大于等于 80 且小于 90 时,grade=B;当 score 大于等
10、于 70 且小于 80 时,grade=C;当 score 大于等于 60 且小于 70 时,grade=D;当 score 大于等于 0 且小于 60 时,grade=E。格式要求:输入提示:Please enter score:输出形式形如:100-A、75-C、0-E 当输入分数不正确时,输出:Input error!#include main()int s,m;printf(Please enter score:);scanf(%d,&s);m=s100-1:s/10;switch(m)case 10:case 9:printf(%d-An,s);break;case 8:printf
11、(%d-Bn,s);break;case 7:printf(%d-Cn,s);break;case 6:printf(%d-Dn,s);break;case 5:case 4:case 3:case 2:case 1:case 0:printf(%d-En,s);break;default:printf(Input error!);Q221.(10 分)编程从键盘输入某年某月(包括闰年),用 switch 语句编程输出该年的该月拥有的天数。要求考虑闰年以及输入月份不在合法范围内的情况。已知闰年的 2 月有29 天,平年的 2 月有 28 天。*输入格式要求:%d,%d 提示信息:Input y
12、ear,month:*输出格式要求:31 daysn 29 daysn 28 daysn Input error!n 程序运行示例如下:Input year,month:2004,2 29 days#include main()int a,b;printf(Input year,month:);scanf(%4d,%2d,&a,&b);switch(b)case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf(31 daysn);break;case 4:case 6:case 9:case 11:printf(30 daysn);br
13、eak;case 2:if(a%4=0&a%100!=0)|a%400=0)printf(29 daysn);else printf(28 daysn);break;default:printf(Input error!n);return 0;Q210.(10 分)第 7 章实验任务 1:所谓素数是指这个数只能被 1 和自身整除。要求在主函数输入一个数,调用函数 Fun()判断该数是否是素数。打印信息在主函数中进行。例如:从键盘输入 5,5 是素数则打印如下信息:5 is a prime number.又如:从键盘输入 4,4 不是素数则打印如下信息:4 is not a prime numb
14、er 负数、0 和 1 均不是素数。对输入的数据要考虑数据的合法性,不满足条件的数 要重新输入直到满足条件为止。不能使用全局变量,不按给定的函数原型编写程序 不给分。Fun()函数原型如下:continue;else if(a 0&a!=1&Fun(a)=1)printf(%d is a prime numbern,a);else printf(%d is not a prime numbern,a);break;return 0;int Fun(int m)int i,result;result=1;if(m!=2)for(i=2;i m;i+)if(m%i=0)result=0;break
15、;return result;Q3185.(10 分)实验二(2016 春刘秉权 C 语言课):根据输入的百分制成绩 score,转换成相应的五分制成绩 grade 后输出。转换规则为(要求用 switch 语句实现):当 score 大于等于 90 且小于等于 100 时,grade=A;当 score 大于等于 80 且小于 90 时,grade=B;当 score 大于等于 70 且小于 80 时,grade=C;当 score 大于等于 60 且小于 70 时,grade=D;当 score 大于等于 0 且小于 60 时,grade=E。格式要求:输入提示:Please enter
16、score:输出形式形如:100-A、75-C、0-E 当输入分数不正确时,输出:Input error!#include main()int s,m;printf(Please enter score:);scanf(%d,&s);m=s100-1:s/10;switch(m)case 10:case 9:printf(%d-An,s);break;case 8:printf(%d-Bn,s);break;case 7:printf(%d-Cn,s);break;case 6:printf(%d-Dn,s);break;case 5:case 4:case 3:case 2:case 1:c
17、ase 0:printf(%d-En,s);break;default:printf(Input error!);Q1709.(10 分)第 6 章实验 1:国王的许诺 相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着 88 共 64 格的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第 1 个格子中放 1 粒,第 2 格中放 2 粒,第 3 格中放 4 粒,以后每一格都比前一格增加一倍,依此放完棋盘上的 64 个格子,我就感恩不尽了。舍罕王让人扛来一袋麦子,他要兑现他的许诺。请问:国王能兑现他的许诺吗试编程计算舍罕王共要多少麦
18、子赏赐他的宰相,这些麦子合多少立方米(已知 1 立方米麦子约 1.42e8 粒)注:(1)不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程。(2)用标准 C 语言编程,所有变量必须在第一条可执行语句前定义。(3)输入输出格式要和以下给定格式完全一致。*输入格式:无*输出格式:sum=%en volum=%en%e 表示 double 类型#include#include main()int i;double s,v;s=0;for(i=0;i=63;i+)s=s+pow(2,i);v=s/1.42e8;printf(sum=%en,s);printf(volum=%en,v);r
19、eturn 0;Q1719.(10 分)第 7 章实验任务 3 从键盘任意输入一个整数 n,编程计算并输出 1n 之间的所有素数之和 输入提示信息:Input n:输入格式:%d 输出格式:sum=%dn#include#include int Fun(int m);main()int n,i,s;s=0;printf(Input n:);scanf(%d,&n);for(i=2;i=n;i+)if(Fun(i)=1)s=s+i;printf(sum=%dn,s);return 0;int Fun(int m)int i,result;result=1;if(m!=2)for(i=2;i m;
20、i+)if(m%i=0)result=0;break;return result;Q1720.(10 分)第 7 章实验任务 6 从键盘任意输入一个整数 m,若 m 不是素数,则对 m 进行质因数分解,并将 m 表示为质因数从小到大顺序排列的乘积形式输出,否则输出It is a prime number。例如,用户输入 90 时,程序输出 90=2*3*3*5;用户输入 17 时,程序输出It is a prime number。输入提示信息:Input m:输入格式:%d 输出格式:是素数时输出It is a prime numbern 否则输出用%d=,%d*运行示例 1:Input m:
21、90 90=2*3*3*5 运行示例 2:Input m:13 It is a prime number#include int Fun(int m);int IsPerfect(int m);main()int m,i,p;printf(Input m:);scanf(%d,&m);p=m;if(Fun(m)=1)printf(It is a prime numbern);else printf(%d=,m);for(i=2;im;i+)if(p%IsPerfect(i)=0&p/IsPerfect(i)!=1&IsPerfect(i)!=1)printf(%d*,i);else if(p%
22、IsPerfect(i)=0&p/IsPerfect(i)=1&IsPerfect(i)!=1)printf(%d,i);break;else continue;p=p/i;while(p%i=0)if(p/i!=1)printf(%d*,i);p=p/i;else printf(%d,i);break;return 0;int Fun(int m)int i,result;result=1;if(m!=2)for(i=2;i m;i+)if(m%i=0)result=0;break;return result;int IsPerfect(int m)int i,result;result=1
23、;if(m!=2)for(i=2;i=m;i+)if(m%i=0)break;else if(m%i!=1&m/i!=1)continue;else result=m;else result=2;return result;Q198.(10 分)第 7 章实验任务 5 如果一个正整数 m 的所有小于 m 的不同因子(包括 1)加起来正好等于 m 本身,那么就被称它为完全数。它是指这样的一些特殊的自然数,它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。注意:1 没有真因子,所以不是完全数。例如,6 就是一个完全数,是因为 6=1+2+3。请编写一个判断完全数的函数 IsPerfect
24、(),然后判断从键盘输入的整数是否是完全数。要求:按如下原型编写判断完全数的函数,若函数返回 0,则代表不是完全数,若返回1,则代表是完全数。int IsPerfect(int x);*要求输入提示信息为:Input m:n*要求输入格式为:%d*要求输出格式为%d is a perfect numbern%d is not a perfect numbern 注:不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程,主函数不能使用int main 和 return 0。#include int IsPerfect(int m);main()int a;printf(Input m:
25、n);scanf(%d,&a);if(IsPerfect(a)=1)printf(%d is a perfect numbern,a);else printf(%d is not a perfect numbern,a);int IsPerfect(int m)int i,s,find;s=0;for(i=1;i m;i+)if(m%i=0)s=s+i;else continue;if(s=m)find=1;else find=0;return find;Q3168.(10 分)编程从键盘输入一个小写英文字母,将其转换为大写英文字母,并将转换后的大写英文字母及其十进制的 ASCII 码值显示到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈工大 语言 实验 完整版
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内