哈工大C语言专业考试-实验题.doc

上传人:一*** 文档编号:816805 上传时间:2019-07-19 格式:DOC 页数:53 大小:52.52KB
返回 下载 相关 举报
哈工大C语言专业考试-实验题.doc_第1页
第1页 / 共53页
哈工大C语言专业考试-实验题.doc_第2页
第2页 / 共53页
点击查看更多>>
资源描述

《哈工大C语言专业考试-实验题.doc》由会员分享,可在线阅读,更多相关《哈工大C语言专业考试-实验题.doc(53页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Q308.Q308.(10 分)第 5 章 实验 2:体型判断。医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体 指数”进行体型判断的方法。体指数计算公式是:t = w /(h*h) 其中:t 是体指数;w 是体重,其单位为千克;h 是身高,其单位为米。根据给 定的体指数 t 计算公式,可判断你的体重属于何种类型:当 t #include main() float t,w,h; printf(“Please enter h,w:n“); scanf(“%f,%f“, t = w/(h*h); if(t=18 printf(“Please enter year,month:“

2、); scanf(“%d,%d“, if(year%100!=0 leap=1; elseprintf(“%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 season is springn“); break; case 6: case 7: case 8:printf(“The season is summern“); break; case 9: case 10:

3、 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; elseday=28; printf(“The number of days of this month is %dn“,day); Q3161.Q3161.(10 分)请用 else

4、if 多分支条件判断语句编程设计一个简单的计 算器程序。要求:(1)请用户按以下形式从键盘输入表达式:操作数 运算符 op 操作数(2)然后计算表达式的值*输入提示信息*:无*输入数据格式*:“%f%c%f“*输出数据格式*:“%.2f%c%.2f=%.2fn“若若输入的运算符是除法运算符/,当除数为 0 时,输出数据格式为:“dat is 0!Error!n“若输入的运算符不是加(+)、减(-)、乘(*)、除(/),则输出数据格 式为:“Error!n“友情提示: 用户输入的运算符为算术运算符:加(+)、减(-)、乘(*)、除(/)。 用字符变量 op 表示; 操作数和操作数 为浮点型数据,

5、分别用浮点型变量 dat1、dat2 表示。 程序运行结果如下所示:1+2 1.00+2.00=3.00#include #include main() float a=0,b=0; char op; scanf(“%f%c%f“, 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=%.2fn“,a,op,b,a*b); else if(op=/) if(b!=0) printf

6、(“%.2f%c%.2f=%.2fn“,a,op,b,a/b); elseprintf(“dat is 0!Error!n“); elseprintf(“Error!n“); Q3185.Q3185.(10 分)实验二(2016 春刘秉权 C 语言课):根据输入的百分制成 绩 score,转换成相应的五分制成绩 grade 后输出。转换规则为(要求用 switch 语句实现):当 score 大于等于 90 且小于等于 100 时,grade=A;当 score 大于等于 80 且小于 90 时,grade=B;当 score 大于等于 70 且小于 80 时,grade=C;当 score

7、大于等于 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“, m=s100?-1:s/10; switch(m) case 10: case 9:printf(“%d-An“,s); break; case 8:printf(“%d-Bn“,

8、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.Q221.(10 分)编程从键盘输入某年某月(包括闰年),用 switch 语句编 程输出该年的该月拥有的天数。要求考虑闰年以及输入月份不在合法范围内的 情况。已知闰年的 2 月有 29 天,平年的 2 月有 28 天。*输入

9、格式要求:“%d, %d“ 提示信息:“Input year,month:“*输出格式要求:“31 daysn“ “29 daysn“ “28 daysn“ “Input error!n“程序运行示例如下:Input year,month:2004,229 days#include main() int a, b; printf(“Input year,month:“); scanf(“%4d, %2d“, switch (b) case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf(“31 daysn“); break

10、; case 4: case 6: case 9: case 11: printf(“30 daysn“); break; case 2: if (a % 4 = 0 elseprintf(“28 daysn“); break; default: printf(“Input error!n“); return 0; Q210.Q210.(10 分)第 7 章实验任务 1:所谓素数是指这个数只能被 1 和自身整除。要求在主函数输入一个数,调用函数 Fun()判断该数是否是素数。打印信息在主函数中进行。例如:从键盘输入 5,5 是素数则打印如下信息:“5 is a prime number“.又如

11、:从键盘输入 4, 4 不是素数则打印如下信息:“4 is not a prime number“负数、0 和 1 均不是素数。对输入的数据要考虑数据的合法性,不满足条件的 数要重新输入直到满足条件为止。不能使用全局变量,不按给定的函数原型编写程 序不给分。Fun()函数原型如下:int Fun(int m);*输入数据提示信息:“Please input a number:n“注:该提示信息请放在循环体外*输入数据格式为:“%d“*输出格式要求:若是素数输出数据格式为:“%d is a prime numbern“ 若不是素数输出数据格式为: “%d is not a prime numbe

12、rn“#include #include int Fun(int m); main() int a; printf(“Please input a number:n“); while (scanf(“%d“, elseprintf(“%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 main() int s,m; printf(“Please enter score:“); scanf(“%d“, m=s100?

13、-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: case 0:printf(“%d-En“,s); break; default:printf(“Input error!“); Q1709.Q1709.(10 分)第 6 章实验 1:国王的许诺相传

14、国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决 定让宰相自己选择何种赏赐。这位聪明的宰相指着 88 共 64 格的象棋盘说: 陛下,请您赏给我一些麦子吧,就在棋盘的第 1 个格子中放 1 粒,第 2 格中放 2 粒,第 3 格中放 4 粒,以后每一格都比前一格增加一倍,依此放完棋盘上的 64 个格子,我就感恩不尽了。舍罕王让人扛来一袋麦子,他要兑现他的许诺。 请问:国王能兑现他的许诺吗?试编程计算舍罕王共要多少麦子赏赐他的宰相, 这些麦子合多少立方米(已知 1 立方米麦子约 1.42e8 粒)?注:(1)不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程。(2)用

15、标准 C 语言编程,所有变量必须在第一条可执行语句前定义。(3)输入输出格式要和以下给定格式完全一致。*输入格式:无*输出格式:“sum = %en“ “volum = %en“%e 表示 double 类型#include #include main() int i; double s, v; s = 0; for (i = 0; i #include int Fun(int m); main() int n,i,s; s=0; printf(“Input n:“); scanf(“%d“, for(i=2;i int Fun(int m); int IsPerfect(int m); ma

16、in() int m,i,p; printf(“Input m:“); scanf(“%d“, p=m; if(Fun(m)=1) printf(“It is a prime numbern“); else printf(“%d = “,m); for(i=2;i int IsPerfect(int m); main() int a; printf(“Input m:n“); scanf(“%d“, if (IsPerfect(a) = 1) printf(“%d is a perfect numbern“, a); elseprintf(“%d is not a perfect number

17、n“, a); int IsPerfect(int m) int i, s, find; s = 0; for (i = 1; i main() char a; printf(“Please input a low-case letter from keyboard:“); a = getchar(); a = a - 32; printf(“The capital letter and its ASCII value are:%c and %d.“, a, a); Q3241.Q3241.(10 分)实验三(2016 春刘秉权 C 语言课):已知公式 e = 1 + 1/1! + 1/2!

18、+ 1/3! + . +1/n!, 编程计算 e 的近似值,直到最后一项的绝 对值小于 1e-7 时为止,输入 e 的值并统计累加的项数。要求:按顺序输出每一 个 e 值,小数点后保留 8 位有效数字,输出格式形如:e = 2.66666667, count = 4(回车换行,count 为累加的项数)#include double fun(int n); main() int i, c; double e; c = 0; e = 0; for (i = 0; i #include int Fun(int m); main() int a, i; printf(“Please enter a

19、number:“); scanf(“%d“, if (Fun(fabs(a) = 1) printf(“It is a prime number.No divisor!n“); else for (i = 2; i main() float fh, mh, h; char sex, sports, diet; printf(“Are you a boy(M) or a girl(F)?“); sex = getchar(); getchar(); printf(“Please input your fathers height(cm):“); scanf(“%f“, getchar(); pr

20、intf(“Please input your mothers height(cm):“); scanf(“%f“, getchar(); printf(“Do you like sports(Y/N)?“); sports = getchar(); getchar(); printf(“Do you have a good habit of diet(Y/N)?“); diet = getchar(); if (sex = M) h = (fh + mh) * 0.54; else if (sex = F) h = (fh * 0.923 + mh) / 2; else printf(“Er

21、ror!n“); goto R; if (sports = Y) h = h * 1.02; else if (sports = N); else printf(“Error!n“); goto R; if (diet = Y) h = h * 1.015; else if (diet = N); else printf(“Error!n“); goto R; printf(“Your future height will be %.0f(cm)n“, h); R: return 0; Q3134.Q3134.(. .(10 分)第 8 章实验 1:学生成绩管理系统 V1.0某班有最多不超过

22、30 人(具体人数由键盘输入)参加某门课程的考试,用一维 数组作函数参数编程实现如下学生成绩管理:(1)录入每个学生的学号和考试成绩;(2)计算课程的总分和平均分;(3)按成绩由高到低排出名次表;(4)按学号由小到大排出成绩表;(5)按学号查询学生排名及其考试成绩;(6)按优秀(90100)、良好(8089)、中等(7079)、及格(6069)、 不及格(059)5 个类别,统计每个类别的人数以及所占的百分比;(7)输出每个学生的学号、考试成绩。程序运行结果示例:Input student number(n #include #define N 30 main() int n,i,j,temp

23、1,temp2,choice,p,mark; long ids; float sum; printf(“Input student number(n0) break; else printf(“Invalid Input!“); continue; long idN; float scoreN; Choice: printf(“Management for Students scoresn“); printf(“1.Input recordn“); printf(“2.Caculate total and average score of coursen“); printf(“3.Sort i

24、n descending order by scoren“); printf(“4.Sort in ascending order by numbern“); printf(“5.Search by numbern“); printf(“6.Statistic analysisn“); printf(“7.List recordn“); printf(“0.Exitn“); printf(“Please Input your choice:n“); scanf(“%d“, getchar(); switch(choice) case 1:goto a; case 2:goto b; case

25、3:goto c; case 4:goto d; case 5:goto e; case 6:goto f; case 7:goto g; case 0:goto end; default: printf(“Input error!n“); goto Choice; a: printf(“Input students ID, name and score:n“); for(i=1;iscorei) temp1=scorei,temp2=idi; scorei=scorej,idi=idj; scorej=temp1,idj=temp2; for(i=1;iidj) temp1=scorei,t

26、emp2=idi; scorei=scorej,idi=idj; scorej=temp1,idj=temp2; for(i=1;i=6 main() int i, p; p = 0; for (i = 1; p int Fun(int m); int main() int i, p; for (i = 1, p = 0; i = 100; i+) if (Fun(i) = 1) printf(“%dn“, i); p = p + i; printf(“sum of prime number:%dn“, p); return 0; int Fun(int m) int i, result; result = 1; if (m = 2); elsefor (i = 2; i m; i+) if (m % i = 0) result = 0; break; return result;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com