哈工大C语言实验题.docx
Q508.(10分)第5章试验2:体型推断。医务工作者经广泛的调杳和统计分析,侬据身高与体重因索给出了以下按“体指数”进行体型推断的方法。体指数计算公式是:t=w/(h*h)其中:t是体指数;W是体重,其单位为千克;h是身高,其单位为米。依据给定的体指数t计克公式,可推断你的体重属于何种类型:当t<18时,为低体重;当】8Vt<25时,为正常体重;当25t<27时,为超重体重;当t27时,为肥胖。*输入提示信息格式:“P1.easeenterh,w:n"*输入数据格式要求:”f,%f"(先读入身高,再读入体重,身高以米读入,体重以千克读入)*输出数据格式要求:当t<18时,输出:"1.owerweight!n"当18t<25时,输出:"StandardWeight1.n"当25<t<27时,输出:-'Higherweight!n-当t27时,输出:"Tfat!n"/inc1.ude<stdio.h>#inc1.ude<std1.ib.h>main()f1.oatt,w,h;printf("P1.easeenterh,w:n');scanf("%f,%f",&h,&w);t=w(h*h);if(t<18)printf("1.owerweight!n");e1.seif(t>=18&&t<25)PrintffStandardweight!nj;e1.seif(t>=25&&t<27)printf("Higherweight!n");e1.seprintf("Toofat!n");return0;Q586.10分)编写一个程序,输入年份和月份,推断该年是否是闰年,并依据给出的月份推断是什么季节和该月有多少天?(闰年的条件是年份能被4整除但不能被100整除,或者能被40。整除;规定35月为春季,68月为豆季,911月为秋季,1、2和12月为冬季)。*输入格式要求:"d,%d”提示信息:"P1.easeenteryear,month:"*输出格式要求:"%dis1.eapyearn""%disnot1.eapyearn""Theseasonisspring/summer/autumn/winter""Thenumberofdaysofthismonthis%dn"程序运行示例如下:实例1:P1.easeenteryear,month:2012,112012is1.eapyearTheseasonisautumnThenumberofdaysofthismonthis30实例2:P1.easeenteryear,month:2013,122013isnot1.eapyearTheseasoniswinterThenumberofdaysofthismonthis31#inc1.ude<stdio.h>#inc1.ude<std1.ib.h>main()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);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: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"若若输入的运算符是除法运算符/,当除数为。时,输出数据格式为:"datis0!Error!n"若输入的运算符不是加(+)、减(一)、乘(*)、除(/),则输出数据格式为:-ErrOr!n"友情提示:用户输入的运算符为算术运算符:加(+)、减(一)、乘(*)、除(/)o用字符变墙op表示;操作数和操作数为浮点型数据,分别用浮点型变量dat1.dat2表示。程序运行结果如下所示:1+2/1.00+2.00=3.00#inc1.ude<stdio.h>#inc1.ude<std1.ib.h>main()f1.oata=O,b=O;charop;scanf('%f%c%f",&a,&op,&b);if(op='+')printf("%.2f%c%.2f=%.2fn",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语句实现):当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.ude<stdio.h>main()ints,m;printf("P1.easeenterscore:");scanf%d',s);m=s<O|s>100?-1.:s/1.0;switch(m)(case10: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天。*输入格式要求:”%d,%d"提示信息:"Inputyeajmonth:"*输出格式要求:”31daysn""29daysn""28daysn""Inputerror!n't程序运行示例如下:Inputyear,month:2004,229days#inc1.ude<stdio.h>main()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");break;case2:if(a%4=O&&a%100!=O)a%400=O)printf("29daysn");e1.seprintf("28daysn");break;defau1.t:printfC'Inputerror!n");return0;Q2fO.(1.O分)第7章试酷任务1:所谓素数是指这个数只能被1和自身整除。要求在主函数输入个数,调用函数FunO推断该数是否是索数。打印信息在主函数中进行。例如:从键盘输入5,5是素数则打印如F信息:"5isaprimenumber".又如:从键盘输入4,4不是素数则打印如下信息:“4isnotaprimenumber"负数、。和】均不是素数。对输入的数据要考虑数据的合法性,不满意条件的数要重新输入直到满意条件为止。不能运用全局变出,不按给定的函数原型编写程序不给分。FUno函数原型如下:intFun(intm);*输入数据提示信息:"P1.easeinputanumber:n"注:该提示信息清放在循环体外*输入数据格式为:“%d"*输出格式要求:若是素数输出数据格式为:"disaprimenumbern"若不是索数输出数据格式为:"disnotaprimenumbern"#inc1.ude<stdio.h>#inc1.ude<std1.ib.h>intFunfintm);main()inta;printf("P1.easeinputanumber:n");whi1.e(scanf("%d",&a)if(a<=OIIa=1)continue;e1.seif(a>0&&a!=1&&Fun(八)=Dprintf("%disaprimenumbern",a);e1.seprintf("%disnotaprimenumbern",a);break;return0;intFu