1、Q508.(10分)第5章试验2:体型推断。医务工作者经广泛的调杳和统计分析,侬据身高与体重因索给出了以下按“体指数”进行体型推断的方法。体指数计算公式是:t=w/(h*h)其中:t是体指数;W是体重,其单位为千克;h是身高,其单位为米。依据给定的体指数t计克公式,可推断你的体重属于何种类型:当t18时,为低体重;当】8Vt25时,为正常体重;当25t27时,为超重体重;当t27时,为肥胖。*输入提示信息格式:“P1.easeenterh,w:n*输入数据格式要求:”f,%f(先读入身高,再读入体重,身高以米读入,体重以千克读入)*输出数据格式要求:当t18时,输出:1.owerweight!
2、n当18t25时,输出:StandardWeight1.n当25t27时,输出:-Higherweight!n-当t27时,输出:Tfat!n/inc1.ude#inc1.udemain()f1.oatt,w,h;printf(P1.easeenterh,w:n);scanf(%f,%f,&h,&w);t=w(h*h);if(t=18&t=25&t27)printf(Higherweight!n);e1.seprintf(Toofat!n);return0;Q586.10分)编写一个程序,输入年份和月份,推断该年是否是闰年,并依据给出的月份推断是什么季节和该月有多少天?(闰年的条件是年份能被4
3、整除但不能被100整除,或者能被40。整除;规定35月为春季,68月为豆季,911月为秋季,1、2和12月为冬季)。*输入格式要求:d,%d”提示信息:P1.easeenteryear,month:*输出格式要求:%dis1.eapyearn%disnot1.eapyearnTheseasonisspring/summer/autumn/winterThenumberofdaysofthismonthis%dn程序运行示例如下:实例1:P1.easeenteryear,month:2012,112012is1.eapyearTheseasonisautumnThenumberofdaysoft
4、hismonthis30实例2:P1.easeenteryear,month:2013,122013isnot1.eapyearTheseasoniswinterThenumberofdaysofthismonthis31#inc1.ude#inc1.udemain()intyear=。,1.eap=。,mon=0,day=。;printf(P1.caseenteryear,month:);scanf(%d,%d,&year,&mon);if(year%100!=0&.&year%4=0)I(year%100=08&year%400=O)printf(%dis1.eapyearn,year);
5、1.eap=1.;e1.seprintf(%disnot1.eapyearn,year);switch(mon)case 1: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:case3:case5
6、case 7:case 8:case10:case12:day=31;break;case4:case6:case9:case11:day=30;break;case2:if(1.eap=1.)day=29;e1.seday=28;printf(Thenumberofdaysofthismonthis%dn,day);03161.(10分)请用e1.seif多分支条件推断语句编程设计一个简洁的计算器程序。要求:请用户按以下形式从键盘输入表达式:操作数运算符QP操作数然后计算表达式的值*输入提示信息*:无*输入数据格式*:%f%c%r*输出数据格式*:-%.2f%c%.2f=%.2fn若若输入
7、的运算符是除法运算符/,当除数为。时,输出数据格式为:datis0!Error!n若输入的运算符不是加(+)、减(一)、乘(*)、除(/),则输出数据格式为:-ErrOr!n友情提示:用户输入的运算符为算术运算符:加(+)、减(一)、乘(*)、除(/)o用字符变墙op表示;操作数和操作数为浮点型数据,分别用浮点型变量dat1.dat2表示。程序运行结果如下所示:1+2/1.00+2.00=3.00#inc1.ude#inc1.udemain()f1.oata=O,b=O;charop;scanf(%f%c%f,&a,&op,&b);if(op=+)printf(%.2f%c%.2f=%.2fn
8、a,o,b,a+b);e1.seif(op=-)printff,%.2f%c%.2f=%.2fn,a,oP,b,a-b);e1.seif(op=*)printfC,%.2f%c%.2f=%.2fn,a,op,b,a*b);e1.seif(op三=)!if(b!=O)printf(%.2f%c%.2f=%.2fnB,a,o,b,ab);e1.seprintf(datis0!Error!n);e1.seprintf(,Error!n);03185(10分)试验二(2016春刘秉权C语言课):依据输入的百分制成果score,转换成相应的五分制成果grade后输出。转换规则为(要求用SWitCh语句
9、实现):当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格式要求:输入提示:P1.easeenterscore:输出形式形如:75-C”、“0-E”当输入分数不正确时,输出:InPUtenor!#inc1.udemain()ints,m;printf(P1.easeenterscore:);scanf%d,s);m=s100?-1.:s/1.0;switch(m)(case
10、10:case9:printf(%dAn,s);break;case8:printf(%dBn,s);break;case7:printf(%d-Cn,s);break;case6:printf(%dDn,s);break;case5:case4:case3:case2:case1:caseO:printf(%dEn,s);break;defau1.t:printf(Inputerror!);0221.(10分)编程从键航输入某年某月(包括闰年),用SWitCh语句编程输出该年的该月拥有的天数。要求考虑闰年以与输入月份不在合法范的内的状况。已知闰年的2月有29天,平年的2月有28天。*输入格式
11、要求:”%d,%d提示信息:Inputyeajmonth:*输出格式要求:”31daysn29daysn28daysnInputerror!nt程序运行示例如下:Inputyear,month:2004,229days#inc1.udemain()inta,b;printf(Inputyear,month:);scanf(,%4d,%2d,&a,&b);switch(b)case1:case3:case5:case7:case8:case10:case12:printf(,131daysn);break;case4:case6:case9:case11:printf(30daysn);brea
12、k;case2:if(a%4=O&a%100!=O)a%400=O)printf(29daysn);e1.seprintf(28daysn);break;defau1.t:printfCInputerror!n);return0;Q2fO.(1.O分)第7章试酷任务1:所谓素数是指这个数只能被1和自身整除。要求在主函数输入个数,调用函数FunO推断该数是否是索数。打印信息在主函数中进行。例如:从键盘输入5,5是素数则打印如F信息:5isaprimenumber.又如:从键盘输入4,4不是素数则打印如下信息:“4isnotaprimenumber负数、。和】均不是素数。对输入的数据要考虑数据的合
13、法性,不满意条件的数要重新输入直到满意条件为止。不能运用全局变出,不按给定的函数原型编写程序不给分。FUno函数原型如下:intFun(intm);*输入数据提示信息:P1.easeinputanumber:n注:该提示信息清放在循环体外*输入数据格式为:“%d*输出格式要求:若是素数输出数据格式为:disaprimenumbern若不是索数输出数据格式为:disnotaprimenumbern#inc1.ude#inc1.udeintFunfintm);main()inta;printf(P1.easeinputanumber:n);whi1.e(scanf(%d,&a)if(a0&a!=1
14、Fun(八)=Dprintf(%disaprimenumbern,a);e1.seprintf(%disnotaprimenumbern,a);break;return0;intFun(intm)(inti,resu1.t;resu1.t=1;if(m!=2)for(i=2;im;i+)if(m%i=O)resu1.t=O;break;returnresu1.t;03185(10分)试验二(2016春刘秉权C语言课):依据输入的百分制成果score,转换成相应的五分制成果grade后输出。转换规则为(要求用SWitCh语句实现):当score大于等于90旦小于等于100时,grade=A;当
15、score大于等于80旦小于90时,grade=B;当score大于等于70且小于80时,grade=C;当score大于等于60且小于70时,grade=D;当score大于等于0且小于60时,grade=E0格式要求:输入提示:P1.casecntcrscorc:输出形式形如:100-A75-C0-E当输入分数不正确时,输出:Inputerror!I1.#inc1.udemain()ints,m;printf(P1.caseenterscore:);SCanfr%d”,&s);m=s100?-1.:s/1O;switch(m)case10:case9:printf(%d-An,s);bre
16、ak;case8:printf(%dBn,s);break;case7:printf(%dCn,s);break;case6:printf(%dDn,s);break;case5:case4:case3:case2:case1:caseO:printf(%dEn,s);break;defau1.t:printf(Inputerror!);01709.(10分)第6章试验1:国王的许诺相传国际象棋是古印度舍罕土的宰相达依尔独创的C舍罕王非常宠爱象棋,确定让宰相自己选择何种赏赐。这位聪悬的宰相指着8X8共64格的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第1个格子中放1粒,第2格中放2粒,第
17、3格中放4粒,以后每格都比前一格增加-倍,依此放完棋盘上的64个格子,我就感恩不尽/舍罕王让人扛来一袋麦子,他要兑现他的许诺。请问:国王能兑现他的许诺吗?试编程计算舍罕土共耍多少麦子赏赐他的宰相,这些麦子合多少立方米(已知1立方米麦子约1.42e8粒)?注:(1)不能运用指针、结构体、共用体、文件、got。、枚举类型进行编程。(2)用标准C语言编程,全部变量必需在第一条可执行语句前定义。(3)输入输出格式要和以下给定格式完全样。*输入格式:无*输出格式:sum=%envo1.um=%en,%e表示doub1.e类型#inc1.ude#inc1.udcmain()inti;doub1.es,v;
18、s=0;for(i=0;i=63;i+)s=s+pow(2,i);v=s/1.42e8;printf(sum=%en,s);printf(vo1.um=%en,v);returnO;Q1719.Q分)第7章试验任务3从键盘Bfi意输入个整数n,编程计算并输出1.n之间的全部素数之和输入提示信息:Inputn:输入格式:,1%d输出格式:-SUm=%dn#inc1.ude#inc1.udeintFun(intm);main()intn,i,s;s=0;printf(Inputn:);scanfC,%d,&n);for(i=2;i=n;i+)if(Fun(i)=1.)s=s+i;printf(su
19、m=%dn,s);returnO;intFun(intm)inti,resu1.t;resu1.t=1;if(m=2)for(i=2;im;i+)if(m%i0)resu1.t=0;break;returnresu1.t;Q1720.Q分)第7章试验任务6从键盘成意输入-个整数m,若m不是素数,则对m进行质因数分解,并将m表示为质因数从小到大依次排列的乘积形式输出,否则输出Itisaprimenumber。例如,用户输入90时,程序输出90=2*3*3*5;用户输入17时,程序输出Itisaprimenumber输入提示信息:Inputm:输入格式:“d”输出格式:是素数时输出Itisapri
20、menumbern否则输出用%d=,%d*运行示例1:Inputm:90/90=2*3*3*5运行示例2:Inputm:13ZItisaprimenumber#inc1.udeintFun(intm);intIsPerfectfintm);main()intm,i,p;printf(Inputm:);scanf(%d,6n);p=m;if(Fun(m)=1.)printf(Itisaprimenumbern);e1.seprintf(%d=,m);for(i=2;im;i+)if(p%IsPerfect(i)=O&p/IsPerfect(i)!=1.&IsPerfect(i)!=1.)prin
21、tf(%d*,i);e1.seif(p%IsPerfect(i)=O&p/IsPerfect(i)=1.&IsPerfect(i)!=1.)printf(%d,i);break;e1.secontinue;P=P/i;whi1.e(p%i=O)if(pi!=1.)printf(%d*,i);p=pi;e1.seprintf(%d,i);break;returnO;intFun(intm)inti,resu1.t;resu1.t=1;if(m!=2)for(i=2;im;i+)if(m%i=0)resu1.t=0;break;returnresu1.t;intIsPcrfect(intm)(in
22、ti,resu1.t;resu1.t=1;if(m!=2)if(m%i=O)break;e1.seif(m%i!=1.&m/i!=1.)continue;e1.seresu1.t=m;e1.sercsu1.t=2;returnresu1.t;0/08.(10分)第7章试验任务5假如一个正整数m的全部小于m的不同因子(包括1)加起来正好等于m本身,那么就被称它为完余数。它是指这样的一些特别的自然数,它全部的真因子(即除了自身以外的约数)的和,恰好等于它本身。留意:1没有其因子,所以不是完全数。例如,6就是一个完全数,是因为6=1+2+3。请编写一个推断完全数的函数IsPerfectO,然后推断从
23、铤盘输入的整数是否是完全数,要求:按如卜原型编写推断完全数的函数,若函数返回0,则代表不是完全数,若返回1,则代表是完全数。intIsPerfect(intx);*要求输入提示信息为:Inputm:n*要求输入格式为:d*要求输出格式为%disaperfectnumbern%disnotaperfectnumbern注:不能运用指针、结构体、共用体、文件、got。、枚举类型进行编程,主函数不能运用intmain和returnOo#inc1.udeintIsPerfect(intm);main()inta;printf(Inputm:n);scanf(,%d,&a);if(IsPerfect(八
24、1)printf(%disaperfectnumbcrn,fa);e1.seprintf(%disnotaperfectnumbern,a);intIsPcrfect(intm)inti,s,find;s=0;for(i=1;im;i+)if(m%i=0)s=s+i;e1.secontinue;if(s=m)find三1;e1.sefind=0;returnfind;Q3168.W分)编程从键盘输入一个小写英文字母,将其转换为大写英文字母,并将转换后的大写英文字母与其卜进制的ASCn码值显示到屏幕上。* *输入提示信息*:P1.easeinputa1.ow-case1.etterfromk
25、eyboard:* *输入数据格式*:-c* *输出数据格式*:Thecapita1.1.etteranditsASCIIva1.uearer%cand%d.1提示:从键盘输入一个字符可用scanf也可用getchar#inc1.udemain()chara;printf(P1.caseinputa1.ow-case1.etterfromkeyboard:);a=getchar();a=a-32;printf(,Thccapita1.1.etteranditsASCIIva1.ueare:%cand%d.,a,a);Q3241.(10分)试险三(2016卷刘乘权C语言课):已知公式e=1+1/
26、1!+1/2!+1/3!+.1.n!,编程计算e的近似值,直到最终一项的肯定值小于1e-7时为止,输入e的值并统计累加的项数。要求:按依次输出每一个e值,小数点后保留8位有效数字,输出格式形如:e=2.66666667,count=4(回车换行,COUnt为累加的项数)#inc1.udedoub1.efun(intn);main()inti,c;doub1.ee;c=0;e=O;for(i=0;i=1.1.;i+)(e=e+fun(i);c+;printf(e=%.81f,count=%dn,e,c);doub1.efun(intn)(doub1.eresu1.t;inti;i=1;resu1
27、t=1;doresu1.t=resu1.t*i;i+;whi1.e(i=n);resu1.t=1.0/resu1.t;returnresu1.t;Q1710.W分)第7章试验任务4:随意输入一个整数m,若m不是索数,则输出其余部不包括1和自身的因子;否则输出“没有因子,是索数”的相关提示信息。输入提示信息:P1.easeenteranumber:输入格式:输出格式:有因子时:“dn”无因子时:ItiSaprimenumber.Nodivisor!n输入为1,0,-1时:Itisnotaprimenumber.Nodivisor!n#inc1.ude#inc1.udeintFun(intm);
28、main()inta,i;printf(P1.caseenteranumber:);scanf(,%d,&a);if(Fun(fabs(八))=1)printf(,Itisaprimenumber.Nodivisor!n);e1.sefor(i=2;ifabs(八);i+)if(a%i=0)printf(%dn,i);intFun(intm)inti,resu1.t;resu1.t=1;if(m!=2&m!=1)for(i=2;im;i+)(if(m%i=0)resu1.t=0;break;e1.seif(m=1)resu1.t=0;e1.se;returnresu1.t;Q1718.W分)第
29、5章试验1:身高预料。每个做父母的都关切自己孩子成人后的身高,据有关生理卫生学问与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育熬炼等。小孩成人后的身高与其父母的身高和自身的性别亲密相关。设faHeight为其父身高,moHeight为其母身高,身高预料公式为男性成人时身高三(faHeight+moHeight)X0.54cm女性成人时身高=IfaHeightX0.923+moHeight)/2cm此外,假如宠爱体育熬炼,那么可增加身高2%;假如有良好的丑生饮食习惯,那么可增加身高1.5%。请编程从健盘输入用户的性别(用字符型变IitSeX存储,输入字符F表示女性,输入字
30、符M表示男性)、父母身高(用实型变量存储,IaHcight为其父身高,moHeight为其母身高)、是否宠爱体育熬炼(用字符型变量SPOrtS存储,输入字符丫表示宠爱,输入字符N表示不宠爱)、是否有良好的饮食习惯等条件(用字符型变成diet存储,输入字符丫表示良好,输入字符N表示不好),利用给定公式和身高预料方法对身高进行预料。运行示例:Areyouaboy(M)oragir1.(F)?FZP1.easeinputyourfathersheight(cm):182ZP1.easeinputyourmothersheight(cm):162/Doyou1.ikeSPOrtS(Y/N)?N/Doy
31、ouhaveagoodhabitofdiet(Y/N)?YZYourfutureheightwi1.1.be167(cm)#inc1.udemain()f1.oatfh,mh,h;charsex,sports,diet;printf(Areyouaboy(M)oragir1.(F)?);sex=getchar;getchar();printf(P1.easeinputyourfathersheight(cm):);scanf(,%f,&fh);getchar();printf(P1.caseinputyourmothersheight(cm):);scanf(%,&mh);getchar();
32、printf(Doyou1.ikesports(YN)?);sports=getchar();getchar();printf(Doyouhaveagoodhabitofdiet(YN)?);diet=getchar();if(sex-1M)h=(fh+mh)*0.54;e1.seif(sex=,F)h=(fh*0.923+mh)/2;e1.se(PrintffError1.n);gotoR;if(sports=Y)h=h*1.02;e1.seif(sports=N);e1.se(printf(Error!n);gotoR;if(diet=,Y)h=h*1.015;e1.seif(diet三=
33、N,);e1.seprintf(Error!n);gotoR;printf(Yourfutureheightwi1.1.be%.0f(cm)n,h);returnO;Q3134.(IO分)第8章试验1:学生成果管理系统V1.O某班书最多不超过30人(详细人数由提盘输入)参与某门课程的考试,用一维数组作函数参数编程实现如卜.学生成果管理:(1)录入每个学生的学号和考试成果;(2)计算课程的总分和平均分;(3)按成果由高到低排出名次表;(4)按学号由小到大排出成果表;(5)按学号杳询学生排名与其考试成果;(6)按优秀(90-100).良好(8089),中等(70-79),与格(60-69).不与
34、格(059)5个类别,统计每个类别的人数以与所占的百分比;(7)输出每个学生的学号、考试成果。程序运行结果示例:Inputstudentnumber(n30):6/ManagementforStudentsscores1.Inputrecord2.Cacu1.atetota1.andaveragescoreofcourse3.Sortindescendingorderbyscore4.Sortinascendingorderbynumber5.Searchbynumber6.Statisticana1.ysis7.1.istrecordO.ExitP1.easeInputyourchoice:
35、InputstudentsID,nameandscore:1100300187Z1100300598/1100300375Z1100300248/1100300465/11003006100ZManagementforStudentsscores1.Inputrecord2.Cacu1.atetota1.andaveragescoreofcourse3.Sortindescendingorderbyscore4.Sortinascendingorderbynumber5.Searchbynumber6.Statisticana1.ysis7.1.istrecordP1.easeInputyou
36、rchoice:2/sum=473,aver=78.83ManagementforStudentsscores1.Inputrecord2.Cacu1.atetota1.andaveragescoreofcourse3.Sortindescendingorderbyscore4.Sortinascendingorderbynumber5.Searchbynumber6.Statisticana1.ysis7.1.istrecordO.ExitP1.easeInputyourchoice:3/Sortindescendingorderbyscore:1009887756548Management
37、forStudentsscores1.Inputrecord2.Cacu1.atetota1.andaveragescoreofcourse3.Sortindescendingorderbyscore4.Sortinascendingorderbynumber5.Searchbynumber6.Statisticana1.ysis7.1.istrecordP1.easeInputyourchoice:4/Sortinascendingorderbynumber:8748756598100ManagementforStudentsscores1 .Inputrecord2 .Cacu1.atet
38、ota1.andaveragescoreofcourse3 .Sortindescendingorderbyscore4 .Sortinascendingorderbynumber5.Searchbynumber6.Statisticana1.ysis7.1.istrecordO.ExitP1.easeInputyourchoice:5ZInputthenumberyouwanttosearch:65ManagementforStudentsscores1.Inputrecord2.Cacu1.atetota1.andaveragescoreofcourse3.Sortindescending
39、orderbyscore4.Sortinascendingorderbynumber5.Searchbynumber6.Statisticana1.ysis7.1.istrecordO.ExitP1.easeInputyourchoice:6/60116.67%60-69116.67%70-79116.67%80-89116.67%90-99116.67%100116.67%ManagementforStudentsscores1 .Inputrecord2 .Cacu1.atetota1.andaveragescoreofcourse3 .Sortindescendingorderbysco
40、re4 .Sortinascendingorderbynumber5.Searchbynumber6.Statisticana1.ysis7.1.istrecordO.ExitP1.easeInputyourchoice:7/8748756598100ManagementforStudentsscores1.Inputrecord2.Cacu1.atetota1.andaveragescoreofcourse3.Sortindescendingorderbyscore4.Sortinascendingorderbynumber5.Searchbynumber6.Statisticana1.ys
41、is7.1.istrecordO.ExitP1.easeInputyourchoice:8/Inputerror!ManagementforStudentsscores1 .Inputrecord2 .Cacu1.atetota1.andaveragescoreofcourse3 .Sortindescendingorderbyscore4 .Sortinascendingorderbynumber5.Searchbynumber6.Statisticana1.ysis7.1.istrecordO.ExitP1.easeInputyourchoice:OZEndofprogram!输入格式:(1)录入学生的人数:*输入数据格式:”*提示信息:Inputstudentnumber(n30):n(2)录入每个学生的学号和考试成果:*输入数据格式:%1.d%f*提示信息:InputstudentsID,nameandscore:n输出格式:菜单项的输出显示:ManagementforStudentsscores1.Inputrecord2.Cacu1.