哈工大语言试验题_第1页
哈工大语言试验题_第2页
哈工大语言试验题_第3页
哈工大语言试验题_第4页
哈工大语言试验题_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、Q308.(i0分)第5章实验2:体型判断。 医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指 数”进行体型判断的方法。体指数计算公式是: t=w/(h*h) 其中:t是体指数;w是体重,其单位为千克;h是身高,其单位为米。根据给 定的体指数t计算公式,可判断你的体重属于何种类型: 当t18时,为低体重; 当18&t25时,为正常体重; 当250t27时,为肥胖。 *输入提示信息格式:Pleaseenterh,w:n *输入数据格式要求:f,%f(先读入身高,再读入体重,身高以米读入,体重以千克读入) *输出数据格式要求: 当t18时,输出:Lowerweight

2、!n 当180t25时,输出:Standardweight!n 当250t27时,输出:Toofat!n #include #include main() floatt,w,h; printf(Pleaseenterh,w:n); t=w/(h*h); if(t=18&t=25&t27) printf(Higherweight!n); else printf(Toofat!n); return0; Q586.( 10分)编写一个程序,输入年份和月份,判断该年是否是闰年,并根据给出的月 份判断是什么季节和该月有多少天?(闰年的条件是年份能被4整除但不能被 100整除,或者能被40

3、0整除;规定35月为春季,68月为夏季,911月为秋季,1、2和12月为冬季)。 *输入格式要求:%d,%d提示信息:Pleaseenteryear,month: *输出格式要求:%disleapyearn%disnotleapyearnTheseason isspring/summer/autumn/winterThenumberofdaysofthismonthis%dn 程序运行示例如下: 实例1:Pleaseenteryear,month:2012,11 2012isleapyear Theseasonisautumn Thenumberofdaysofthismonthis30 实例

4、2: Pleaseenteryear,month:2013,12 2013isnotleapyear Theseasoniswinter Thenumberofdaysofthismonthis31 #include #include main() intyear=0,leap=0,mon=0,day=0; printf(Pleaseenteryear,month:); scanf(%d,%d,&year,&mon); if(year%100!=0&year%4=0)|(year%100=0&year%400=0)printf(%disleapyearn,yea

5、r); leap=1; else printf(%disnotleapyearn,year); switch(mon) case 2: case12:printf(Theseasoniswintern); break; case 3: case 4: case5:printf(Theseasonisspringn); break; case 6: case 7: case8:printf(Theseasonissummern); break; case 9: case 10: case11:printf(Theseasonisautumnn); break; switch(mon) case1

6、: case3: case5: case 7: case 8: case10: case12:day=31; break; case4: case6: case9: case11:day=30; break; case2: if(leap=1) day=29; else day=28;printf(Thenumberofdaysofthismonthis%dn,day); Q3161.(i0分)请用elseif多分支条件判断语句编程设计一个简单的计算器程序。要求: (1)请用户按以下形式从键盘输入表达式:操作数运算符op操作数 (2)然后计算表达式的值 * *输入提示信息*:无 * *输入数据

7、格式*:%f%c%f * *输出数据格式*:%.2f%c%.2f=%.2fn 若若输入的运算符是除法运算符/,当除数为0时,输出数据格式为:datis0!Error!n 若输入的运算符不是加(+)、减(-)、乘(*)、除(/),则输出数据格式为:Error!n 友情提示: 用户输入的运算符为算术运算符:加(+)、减(-)、乘(*)、除(/)。用字符变量op表示; 操作数和操作数为浮点型数据,分别用浮点型变量dat1、dat2表示。 程序运行结果如下所示: 1+2/ += #include #include main() floata=0,b=0; charop; scanf(%f%c%f,&a

8、mp;a,&op,&b); if(op=+) printf(%,2f%c%.2f=%.2fn,a ,op,b,a+b); elseif(op=-) printf(%.2f%c%.2f=%.2fn,a ,op,b,a-b); elseif(op=*) printf(%.2f%c%.2f=%.2fn,a ,op,b,a*b); elseif(op=/) if(b!=0) printf(%.2f%c%.2f=% .2fn,a,op,b,a/b); else printf(datis 0!Error!n); else printf(Error!n); Q3185.(I0分)实验二(20

9、16春刘秉权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。 格式要求: 输入提示:Pleaseenterscore: 输出形式形如:100-A、75-C、0-E 当输入分数不正确时,输出:Inputerror! #include ma

10、in() ints,m; printf(Pleaseenter score:); scanf(%d,&s); m=s100?-1:s/10; switch(m) case10: case9:printf (%d-An,s); break; case8:printf (%d-Bn,s); break; case7:printf (%d-Cn,s); break; case6:printf (%d-Dn,s); break; case5: case4: case3: case2: case1: case0:printf(%d-En,s); break; default:printf( In

11、puterror!); Q221.(10分)编程从键盘输入某年某月(包括闰年),用switch语句编程输出该年的该月拥有的天数。要求考虑闰年以及输入月份不在合法范围内的情况。已知闰年的2月有29天,平年的2月有28天。 *输入格式要求:%d,%d提示信息:Inputyear,month: *输出格式要求:31daysn29daysn28daysnInputerror!n 程序运行示例如下: Inputyear,month:2004,2 29days #include main() inta,b; printf(Inputyear,month:); scanf(%4d,%2d,&a,&a

12、mp;b);switch(b) case1: case3: case5: case 7: case 8: case10: case12: printf(31daysn); break; case4: case6: case9: case11: printf(30daysn); break; case2: if(a%4=0&a%100!=0)|a% 400=0) printf(29daysn); else printf(28daysn); break; default: printf(Inputerror!n); ) return0; ) Q210.(10分)第7章实验任务1: 所谓素数

13、是指这个数只能被1和自身整除。 要求在主函数输入一个数, 调用函数Fun()判断该数是否是素数。打印信息在主函数中进行。例如:从键盘输入5,5是素数则打印如下信息:5isaprimenumber. 又如:从键盘输入4,4不是素数则打印如下信息:4isnotaprimenumber 负数、0和1均不是素数。对输入的数据要考虑数据的合法性,不满足条件的数 要重新输入直到满足条件为止。不能使用全局变量,不按给定的函数原型编写程序 不给分。Fun()函数原型如下: intFun(intm); * *输入数据提示信息:Pleaseinputanumber:n 注:该提示信息请放在循环体外 * *输入数据

14、格式为:d * *输出格式要求: 若是素数输出数据格式为:disaprimenumbern 若不是素数输出数据格式为:disnotaprimenumbern #include #include intFun(intm); main() inta; printf(Pleaseinputanumber:n); while(scanf(%d,&a) if(a0&a!=1&Fun(a) =1) printf(%disaprime numbern,a); else printf(%disnotaprimenumbern,a); break; return0; intFun(int

15、m) ( inti,result; result=1; if(m!=2) ( for(i=2;im;i+) ( if(m%i=0) ( result=0; break; ) ) ) returnresult; ) 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

16、时,grade=D; 当score大于等于0且小于60时,grade=E。 格式要求: 输入提示:Pleaseenterscore: 输出形式形如:100-A、75-C、0-E 当输入分数不正确时,输出:Inputerror! #include main() ints,m; printf(Pleaseenter score:); scanf(%d,&s); m=s100?-1:s/10; switch(m) case10: case9:printf (%d-An,s); break; case8:printf (%d-Bn,s); break; case7:printf (%d-Cn,

17、s); break; case6:printf (%d-Dn,s); break; case5: case 4: case 3: case 2: case 1: case 0:printf break; default:printf( Inputerror!); Q1709.(I0分)第6章实验1:国王的许诺 相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决定 让宰相自己选择何种赏赐。这位聪明的宰相指着8X8共64格的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第1个格子中放1粒,第2格中放2粒,第3格中放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格子,

18、我就感恩不尽了。舍罕王让人扛来一袋麦子,他要兑现他的许诺。请问:国王能兑现他的许诺吗?试编程计算舍罕王共要多少麦子赏赐他的宰相,这些麦子合多 少立方米(已知1立方米麦子约粒)? 注:(1)不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程 (2)用标准C语言编程,所有变量必须在第一条可执行语句前定义。 (3)输入输出格式要和以下给定格式完全一致。 *输入格式:无 *输出格式: sum=%en volum=%en %盛示double类型 #include #includemain() ( inti; doubles,v; s=0; for(i=0;i=63; i+) s=s+ pow

19、(2,i); v=s/; printf(sum =%en,s); printf(volum =%en,v); return0; Q1719.(IO分)第7章实验任务3 从键盘任意输入一个整数n,编程计算并输出1n之间的所有素数之和 输入提示信息:Inputn: 输入格式:d 输出格式:sum=%dn #include #includeintFun(intm); main() ( intn,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); r

20、eturn0; intFun(intm) inti,result; result=1; if(m!=2) for(i= 2;im;i+) if(m%i=0) result=0; break; returnresult; Q1720C0分)第7章实验任务6 从键盘任意输入一个整数m,若m不是素数,则对m进行质因数分解,并将m表示为质因数从小到大顺序排列的乘积形式输出,否则输出Itisaprime number0例如,用户输入90时,程序输出90=2*3*3*5;用户输入17 时,程序输出Itisaprimenumber。 输入提示信息:Inputm: 输入格式:d 输出格式: 是素数时输出Iti

21、saprimenumbern 否则输出用%d=,%d* 运行示例1: Inputm:90/ 90=2*3*3*5 运行示例2: Inputm:13/ Itisaprimenumber #includeintFun(intm); intIsPerfect(intm); main() ( intm,i,p; printf(Inputm:);scanf(%d,&m); p=m; if(Fun(m)=1) printf(Itisaprimenumbern); else printf(%d=,m); for(i=2;im;i+) if(p%IsPerfect(i)=0&p/IsPerfe

22、ct(i)!=1&IsPerfect(i)!=1) printf(%d*,i); else if(p%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; ) ) ) ) return0; intFun(intm) ( inti,result; result=1; if(m!=2) ( for(i=2

23、;im;i+) ( if(m%i=0) ( result=0;break; returnresult; intIsPerfect(intm) ( inti,result; result=1; if(m!=2) ( for(i=2;i=m;i+) ( if(m%i=0)break; elseif(m%i!=1&m/i!=1)continue; else result=m; else result=2; returnresult; Q198.(i0分)第7章实验任务5 如果一个正整数m的所有小于m的不同因子(包括1)加起来正好等于m本身,那么就被称它为完全数。它是指这样的一些特殊的自然数,

24、它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。 注意:1没有真因子,所以不是完全数。例如,6就是一个完全数,是因为6=1 +2+3o 请编写一个判断完全数的函数IsPerfect (),然后判断从键盘输入的整数是否是完全数。 要求:按如下原型编写判断完全数的函数,若函数返回0,则代表不是完全数, 若返回1,则代表是完全数。 intIsPerfect(intx); * *要求输入提示信息为:Inputm:n * *要求输入格式为:“d * *要求输出格式为 %disaperfectnumbern %disnotaperfectnumbern 注:不能使用指针、结构体、共用体、文件、

25、goto、枚举类型进行编程,主函数 * 能使用intmain和return0。 #includeintIsPerfect(intm); main() inta; printf(Inputm:n);scanf(%d,&a); if(IsPerfect(a)=1) printf(%disaperfectnumbern,a); else printf(%disnotaperfectnumbern,a); intIsPerfect(intm)inti,s,find; s=0; for(i=1;im;i+)if(m%i=0)s=s+i; else continue; if(s=m)find=1;

26、 else find=0;returnfind; Q3168.(io分)编程从键盘输入一个小写英文字母,将其转换为大写英文字母,并将转换后的大写英文字母及其十进制的ASCII码值显示到屏幕上。 * *输入提示信息*:Pleaseinputalow-caseletterfromkeyboard: * *输入数据格式*:%c * *输出数据格式*:ThecapitalletteranditsASCIIvalueare:%cand%d. 提示:从键盘输入一个字符可用scanf也可用getchar #includemain()( chara; printf(Pleaseinputalow-casele

27、tterfromkeyboard:); a=getchar(); a=a-32; printf(ThecapitalletteranditsASCIIvalueare:%cand%d.,a,a); Q324110分)实验三(2016春刘秉权C语言课):已知公式e=1+1/1! +1/2!+1/3!+.+1/n!,编程计算e的近似值,直到最后一项的绝对值小 于1e-7时为止,输入e的值并统计累加的项数。要求:按顺序输出每一个e值,小数点后保留8位有效数字,输出格式形如:e=2.,count=4(回车换行,count为累加的项数) #includedoublefun(intn); main() (

28、 inti,c; doublee; c=0; e=0; for(i=0;i=11;i+) ( e=e+fun(i); c+; printf(e=%.8lf,count=%dn,e,c); doublefun(intn) ( doubleresult; inti; i=1; result=1; do ( result=result*i; i+; ) while(i=n); result=/result; returnresult; ) Q1710.(10分)第7章实验任务4: 任意输入一个整数m,若m不是素数,则输出其所有不包括则输出“没有因子,是素数”的相关提示信息。 输入提示信息:Pleaseenteranumber: 输入格式:d 输出格式: 有因子时:%dn 无因子时:Itisaprimedivisor!n 输入为1,0,-1时:Itisnotaprimedivisor!n #include #includeintFun

温馨提示

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

评论

0/150

提交评论