您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > C语言PTA平台习题与答案
C语言程序与设计PTA平台习题与答案1第二章作业1①.本题要求编写程序,输出一个短句“WelcometoYou!”#includestdio.hintmain(){printf(WelcometoYou!\n);return0;}②.本题要求编写程序,计算华氏温度100°F对应的摄氏温度。计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。fahr=100,celsius=计算所得摄氏温度的整数值#includestdio.hintmain(){intfahr=100;intcelsius=5*(fahr-32)/9;printf(fahr=100,celsius=%d\n,celsius);return0;}第二章作业2①求整数均值本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。在一行中按照格式“Sum=和;Average=平均值”顺序输出和与平均值,其中平均值精确到小数点后一位#includestdio.hintmain(){inta,b,c,d,Sum;doubleAverage;scanf(%d%d%d%d,&a,&b,&c,&d);Sum=a+b+c+d;Average=(a+b+c+d)/4.0;printf(Sum=%d,Average=%.1f\n,Sum,Average);return0;}②整数四则运算本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内输入在一行中给出2个正整数A和B。在4行中按照格式“A运算符B=结果”顺序输出和、差、积、商。#includestdio.hintmain(){inta;intb;scanf(%d%d,&a,&b);printf(%d+%d=%d\n,a,b,a+b);printf(%d-%d=%d\n,a,b,a-b);printf(%d*%d=%d\n,a,b,a*b);printf(%d/%d=%d,a,b,a/b);return0;}③整数152的各位数字本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值152=个位数字+十位数字*10+百位数字*100#includestdio.hintmain(){inta=152/100;intc=152%10;intcount=152%100;intb=count/10;printf(152=%d+%d*10+%d*100,c,b,a);return0;}第二章作业3①求奇数分之一序列前N项和计算序列1+1/3+1/5+...的前N项之和输入在一行中给出一个正整数N。在一行中按照“sum=S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围#includestdio.hintmain(){intn;inti=1;doubles=0;scanf(%d,&n);for(i=1;i=n;i++){s+=1.0/(2*i-1);}printf(sum=%.6f,s);return0;}②计算序列1-1/4+1/7-1/10+...的前N项之和在一行中按照“sum=S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围#includestdio.hC语言程序与设计PTA平台习题与答案2intmain(){intfm=1,N,b=1;doubleitem,sum=0,i;scanf(%d,&N);for(i=1.0;i=N;i++){item=b*(i/fm);sum=sum+item;b=-b;fm=fm+2;}printf(%.3f\n,sum);return0;}③求平方根序列前N项和计算平方根序列√1+√2+√3+⋯的前N项之和#includestdio.h#includemath.hintmain(){intn,i;doublex,s=0;scanf(%d,&n);for(i=1;i=n;i++){x=sqrt(i);s=s+x;}printf(sum=%.2f\n,s);return0;}④特殊a串数列求和给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。#includestdio.h#includemath.hintmain(){intn,a,i,j;doublenum=0,sum=0;scanf(%d%d,&a,&n);for(i=1;i=n;i++){for(j=1;j=i;j++){num=num+a*pow(10,j-1);}sum=sum+num;num=0;}printf(s=%d,sum);return0;}第二章作业4①本题目要求计算下列分段函数f(x)的值:输入在一行中给出实数x在一行中按“f(x)=result”的格式输出,其中x与result都保留一位小数。输入样例1:10输出样例:1f(10.0)=0.1输入样例2:234输出样例2:f(234.0)=234.0#includestdio.hintmain(){doublex;scanf(%lf,&x);if(x==10){printf(f(%0.1f)=0.1,x);}else{printf(f(%0.1f)=%0.1f,x,x);}return0;}②计算分段函数本题目要求计算下列分段函数f(x)的值:注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。#includestdio.hintmain(){C语言程序与设计PTA平台习题与答案3doublea;scanf(%lf,&a);if(a=0){printf(f(%0.2f)=%0.2f,a,sqrt(a));}else{printf(f(%0.2f)=%0.2f,a,(a+1)*(a+1)+2*a+1/a);}return0;}③新胖子公式输入在一行中给出两个正数,依次为一个人的体重(以kg为单位)和身高(以m为单位),其间以空格分隔。其中体重不超过1000kg,身高不超过3.0m。首先输出将该人的体重和身高代入肥胖公式的计算结果,保留小数点后1位。如果这个数值大于25,就在第二行输出PANG,否则输出HaiXing。#includestdio.hintmain(){doublea,b;scanf(%lf%lf,&a,&b);doublec=a/(b*b);printf(%0.1f\n,c);if(c25){printf(PANG);}else{printf(HaiXing);}return0;}第三章作业2①求奇数和输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理在一行中输出正整数序列中奇数的和。87437056101-1116#includestdio.hintmain(){intn=0;intsum=0;do{scanf(%d,&n);if(n%2==1){sum+=n;}}while(n0);printf(%d,sum);return0;}②求整数的位数及各位数字之和输入在一行中给出一个不超过109的正整数N在一行中输出N的位数及其各位数字之和,中间用一个空格隔开32136#includestdio.hintmain(){intn,h,i,sum=0;scanf(%d,&n);do{h=n%10;n/=10;sum+=h;i++;}while(n0);printf(%d%d,i,sum);return0;}③简单的猜数字游戏#includestdio.hintmain(){intx;constintM=38;scanf(%d,&x);if(x38){printf(Toobig!);}if(x==38){printf(GoodGuess!);}if(x38){printf(Toosmall!);}return0;}第四章作业1①奇偶分家输入第一行给出一个正整N(≤1000);第2行给出N个非负整数,以空格分隔。在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。988741012615034227736#includestdio.hintmain(){C语言程序与设计PTA平台习题与答案4inti,n,N;inta=0,b=0;scanf(%d,&n);for(i=0;in;i++){scanf(%d,&N);if(N%2==0){a++;}else{b++;}}printf(%d%d,b,a);}②A除以B定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果在一行中输出结果:如果分母是正数,则输出“A/B=商”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为Error#includestdio.hintmain(){inta,b;scanf(%d%d,&a,&b);if(b0)printf(%d/%d=%.2f,a,b,a*1.0/b);elseif(b0)printf(%d/(%d)=%.2f,a,b,a*1.0/b);elseprintf(%d/%d=Error,a);return0;}③高速公路超速处罚在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。在一行中输出处理意见:若属于正常行驶,则输出“OK”;若应处罚款,则输出“Exceedx%.Ticket200”;若应吊销驾驶证,则输出“Exceedx%.LicenseRevoked”。其中x是超速的百分比,精确到整数。110100Exceed10%.Ticket200#includestdio.hintmain(){inta,b;intx;scanf(%d%d,&a,&b);x=round(1.0*(a-b)/b*100);if(x10){printf(OK\n);}elseif(x50){printf(Exceed%d%%.Ticket200\n,x);}elseprintf(Exceed%d%%.LicenseRevoked\n,x);return0;}④输出三角形面积和周长根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中,任意两边之和大于第三边。三角形面积计算公式:area=√s(s−a)(s−b)(s−c),其中s=(a+b+c)/2。area=面积;perimeter=周长Thesesidesdonotcorrespondtoavalidtriangle553area=7.15;perimeter=13.00#includestdio.h#includemath.hintmain(){doublea,b,c,s;doublearea,perimeter;scanf(%lf%lf%lf,&a,&b,&c);area=0;perimeter=0;if((a+b)c&&(a+c)b&&(b+c)a){s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));perimeter=a+b+c;printf(area=%.2f;perimeter=%.2f,area,perimeter);}else{printf(Thesesidesdonotcorrespondtoavalidtriangle);}return0;}⑤输出闰年输入在一行中给出21世纪的某个截止年份。逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出Invalidyear!。若不存在任何闰年,则输出“None”。闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除#includestdio.hintmain(){intyear,i,count
本文标题:C语言PTA平台习题与答案
链接地址:https://www.777doc.com/doc-7191423 .html