类型哈工大C语言学习知识实验题.doc

收藏

编号:2585231    类型:共享资源    大小:53.27KB    格式:DOC    上传时间:2020-04-22
  
12
金币
分享到微信 分享到微博 分享到QQ空间
关 键 词:
哈工大 语言 学习 知识 实验 试验
资源描述:
*- 窗体顶端 Q308.(10分)第5章 实验2:体型判断。 医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法。体指数计算公式是: t = w /(h*h) 其中:t是体指数;w是体重,其单位为千克;h是身高,其单位为米。根据给定的体指数t计算公式,可判断你的体重属于何种类型: 当 t<18 时,为低体重; 当 18≤t<25 时,为正常体重; 当 25≤t<27 时,为超重体重; 当 t≥27 时,为肥胖。 ****输入提示信息格式:"Please enter h,w:\n" ****输入数据格式要求:"%f,%f"(先读入身高,再读入体重,身高以米读入,体重以千克读入) ****输出数据格式要求: 当 t<18 时,输出:"Lower weight!\n" 当 18≤t<25 时,输出:"Standard weight!\n" 当 25≤t<27 时,输出:"Higher weight!\n" 当 t≥27 时, 输出:"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) printf("Lower weight!\n"); else if(t>=18&&t<25) printf("Standard weight!\n"); else if(t>=25&&t<27) printf("Higher weight!\n"); else printf("Too fat!\n"); return 0; } 窗体顶端 窗体顶端 Q586.( 窗体底端 10分)编写一个程序,输入年份和月份,判断该年是否是闰年,并根据给出的月份判断是什么季节和该月有多少天?(闰年的条件是年份能被4整除但不能被100整除,或者能被400整除;规定3~5月为春季,6~8月为夏季,9~11月为秋季,1、2和12月为冬季)。 **输入格式要求:"%d,%d" 提示信息:"Please enter year,month:" **输出格式要求:"%d is leap year\n" "%d is not leap year\n" "The season is spring/summer/autumn/winter" "The number of days of this month is %d\n" 程序运行示例如下: 实例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,leap=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 year\n",year); leap=1; } else printf("%d is not leap year\n",year); switch(mon) { case 1: case 2: case 12:printf("The season is winter\n"); break; case 3: case 4: case 5:printf("The season is spring\n"); break; case 6: case 7: case 8:printf("The season is summer\n"); break; case 9: case 10: case 11:printf("The season is autumn\n"); 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("The number of days of this month is %d\n",day); } 窗体顶端 Q3161.(10分)请用else if多分支条件判断语句编程设计一个简单的计算器程序。要求: (1)请用户按以下形式从键盘输入表达式:操作数① 运算符op 操作数② (2)然后计算表达式的值 **输入提示信息**:无 **输入数据格式**:"%f%c%f" **输出数据格式**:"%.2f%c%.2f=%.2f\n" 若若输入的运算符是除法运算符/,当除数为0时,输出数据格式为:"dat is 0!Error!\n" 若输入的运算符不是加(+)、减(-)、乘(*)、除(/),则输出数据格式为:"Error!\n" [友情提示]: ① 用户输入的运算符为算术运算符:加(+)、减(-)、乘(*)、除(/)。用字符变量 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=%.2f\n",a,op,b,a+b); else if(op==-) printf("%.2f%c%.2f=%.2f\n",a,op,b,a-b); else if(op==*) printf("%.2f%c%.2f=%.2f\n",a,op,b,a*b); else if(op==/){ if(b!=0) printf("%.2f%c%.2f=%.2f\n",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大于等于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=s<0||s>100?-1:s/10; switch(m) { case 10: case 9:printf("%d--A\n",s); break; case 8:printf("%d--B\n",s); break; case 7:printf("%d--C\n",s); break; case 6:printf("%d--D\n",s); break; case 5: case 4: case 3: case 2: case 1: case 0:printf("%d--E\n",s); break; default:printf("Input error!"); } } 窗体底端 窗体顶端 Q221.(10分)编程从键盘输入某年某月(包括闰年),用switch语句编程输出该年的该月拥有的天数。要求考虑闰年以及输入月份不在合法范围内的情况。已知闰年的2月有29天,平年的2月有28天。 **输入格式要求:"%d, %d" 提示信息:"Input year,month:" **输出格式要求:"31 days\n" "29 days\n" "28 days\n" "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 days\n"); break; case 4: case 6: case 9: case 11: printf("30 days\n"); break; case 2: if ((a % 4 == 0 && a % 100 != 0) || a % 400 == 0) printf("29 days\n"); else printf("28 days\n"); 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 number" 负数、0和1均不是素数。对输入的数据要考虑数据的合法性,不满足条件的数 要重新输入直到满足条件为止。不能使用全局变量,不按给定的函数原型编写程序 不给分。Fun()函数原型如下: int Fun(int m); **输入数据提示信息:"Please input a number:\n" 注:该提示信息请放在循环体外 **输入数据格式为:"%d" **输出格式要求: 若是素数输出数据格式为:"%d is a prime number\n" 若不是素数输出数据格式为: "%d is not a prime number\n" #include #include int Fun(int m); main() { int a; printf("Please input a number:\n"); while (scanf("%d",&a)) { if (a <= 0 || a == 1) continue; else if (a > 0 && a != 1 && Fun(a) == 1) printf("%d is a prime number\n",a); else printf("%d is not a prime number\n", 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; } } } 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 score:" 输出形式形如:"100--A"、"75--C"、"0--E" 当输入分数不正确时,输出:"Input error! " #include main() { int s,m; printf("Please enter score:"); scanf("%d",&s); m=s<0||s>100?-1:s/10; switch(m) { case 10: case 9:printf("%d--A\n",s); break; case 8:printf("%d--B\n",s); break; case 7:printf("%d--C\n",s); break; case 6:printf("%d--D\n",s); break; case 5: case 4: case 3: case 2: case 1: case 0:printf("%d--E\n",s); break; default:printf("Input error!"); } } 窗体底端 窗体顶端 Q1709.(10分)第6章实验1:国王的许诺 相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着88共64格的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第1个格子中放1粒,第2格中放2粒,第3格中放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格子,我就感恩不尽了。舍罕王让人扛来一袋麦子,他要兑现他的许诺。请问:国王能兑现他的许诺吗?试编程计算舍罕王共要多少麦子赏赐他的宰相,这些麦子合多少立方米(已知1立方米麦子约1.42e8粒)? 注:(1)不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程。 (2)用标准C语言编程,所有变量必须在第一条可执行语句前定义。 (3)输入输出格式要和以下给定格式完全一致。 **输入格式:无 **输出格式: "sum = %e\n" "volum = %e\n" %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 = %e\n", s); printf("volum = %e\n", v); return 0; } 窗体底端 窗体顶端 Q1719.(10分)第7章实验任务3 从键盘任意输入一个整数n,编程计算并输出1~n之间的所有素数之和 输入提示信息:"Input n:" 输入格式:"%d" 输出格式:"sum = %d\n" #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 = %d\n",s); 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; } 窗体底端 窗体顶端 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 number\n" 否则输出用"%d = ","%d * " 运行示例1: Input m: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 number\n"); else { printf("%d = ",m); for(i=2;i int IsPerfect(int m); main() { int a; printf("Input m:\n"); scanf("%d", &a); if (IsPerfect(a) == 1) printf("%d is a perfect number\n", a); else printf("%d is not a perfect number\n", 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码值显示到屏幕上。 **输入提示信息**:"Please input a low-case letter from keyboard:" **输入数据格式**:"%c" **输出数据格式**:"The capital letter and its ASCII value are:%c and %d. " 提示:从键盘输入一个字符可用scanf也可用getchar #include 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.(10分)实验三(2016春刘秉权C语言课):已知公式e = 1 + 1/1! + 1/2! + 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<=11; i++) { e = e + fun(i); c++; printf("e = %.8lf, count = %d\n", e, c); } } double fun(int n) { double result; int i; i = 1; result = 1; do { result = result * i; i++; } while (i <= n); result = 1.0 / result; return result; } 窗体底端 窗体顶端 Q1710.(10分)第7章实验任务4: 任意输入一个整数m,若m不是素数,则输出其所有不包括1和自身的因子;否则输出“没有因子,是素数”的相关提示信息。 输入提示信息:"Please enter a number:" 输入格式:"%d" 输出格式: 有因子时:"%d\n" 无因子时:"It is a prime number.No divisor!\n" 输入为1,0,-1时:"It is not a prime number.No divisor!\n" #include #include int Fun(int m); main() { int a, i; printf("Please enter a number:"); scanf("%d", &a); if (Fun(fabs(a)) == 1) printf("It is a prime number.No divisor!\n"); else { for (i = 2; i < fabs(a); i++) { if ( a % i == 0) printf("%d\n", i); } } } int Fun(int m) { int i, result; result = 1; if (m != 2 && m != 1) { for (i = 2; i < m; i++) { if (m % i == 0) { result = 0; break; } } } else if (m == 1) result = 0; else; return result; } 窗体底端 窗体顶端 Q1718.(10分)第5章实验1:身高预测。 每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。 设faHeight为其父身高,moHeight为其母身高,身高预测公式为 男性成人时身高 = (faHeight
展开阅读全文
提示  得力文库 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:哈工大C语言学习知识实验题.doc
链接地址:https://www.deliwenku.com/p-2585231.html
关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

本站为文档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  

收起
展开