欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C语言PTA平台习题与答案.docx

    • 资源ID:5930696       资源大小:131.56KB        全文页数:50页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言PTA平台习题与答案.docx

    1、C语言PTA平台习题与答案第二章 作业 1.本题要求编写程序,输出一个短句“Welcome to You!”#includeint main() printf(Welcome to You!n); return 0;.本题要求编写程序,计算华氏温度100F对应的摄氏温度。计算公式:C=5(F32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。fahr = 100, celsius = 计算所得摄氏温度的整数值#includeint main() int fahr = 100; int celsius = 5*(fahr-32)/9; printf(fahr = 100,cel

    2、sius = %dn,celsius);return 0;第二章 作业2求整数均值本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位#includeint main() int a,b,c,d,Sum; double Average; 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 = %.

    3、1fn,Sum,Average); return 0;整数四则运算本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内输入在一行中给出2个正整数A和B。在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。#includeint main() int a; int b; scanf(%d %d,&a,&b); printf(%d + %d = %dn,a,b,a+b); printf(%d - %d = %dn,a,b,a-b); printf(%d * %d = %dn,a,b,a*b); printf(%d / %d = %d,a,b,a

    4、/b); return 0;整数152的各位数字本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值152 = 个位数字 + 十位数字*10 + 百位数字*100#includeint main() int a=152/100; int c=152%10; int count=152%100; int b=count/10; printf(152 = %d + %d*10 + %d*100,c,b,a); return 0;第二章 作业3求奇数分之一序列前N项和计算序列 1 + 1/3 + 1/5 + . 的前N项之和输入在一行中给出一个正整数N。在一行中按照“sum = S”的

    5、格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围#includeint main() int n; int i=1; double s = 0; scanf(%d,&n); for (i=1;i=n;i+)s+=1.0/(2*i-1); printf(sum = %.6f,s); return 0 ;计算序列 1 - 1/4 + 1/7 - 1/10 + . 的前N项之和在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围#include int main() int fm=1,N,b=1; double item

    6、,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(%.3fn,sum); return 0; 求平方根序列前N项和计算平方根序列1+2+3+的前N项之和#include#includeint main() int n,i; double x,s=0; scanf(%d,&n); for(i=1;i=n;i+) x = sqrt(i); s = s+x; printf(sum = %.2fn,s); return 0 ;特殊a串数列求和给定两个均不超过9的正整数

    7、a和n,要求编写程序求a+aa+aaa+aaa(n个a)之和。#include#includeint main() int n,a,i,j; double num=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); return 0;第二章 作业4本题目要求计算下列分段函数f(x)的值:输入在一行中给出实数x在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。输入样

    8、例1:10输出样例:1f(10.0) = 0.1输入样例2:234 输出样例2:f(234.0) = 234.0#includeint main() double x; scanf(%lf,&x); if(x=10)printf(f(%0.1f) = 0.1,x); else printf(f(%0.1f) = %0.1f,x,x); return 0;计算分段函数本题目要求计算下列分段函数f(x)的值:注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。#includeint main() double a; scanf(%lf,&a); if(a=0)prin

    9、tf(f(%0.2f) = %0.2f,a,sqrt(a); else printf(f(%0.2f) = %0.2f,a,(a+1)*(a+1)+2*a+1/a); return 0;新胖子公式输入在一行中给出两个正数,依次为一个人的体重(以 kg 为单位)和身高(以 m 为单位),其间以空格分隔。其中体重不超过 1000 kg,身高不超过 3.0 m。首先输出将该人的体重和身高代入肥胖公式的计算结果,保留小数点后 1 位。如果这个数值大于 25,就在第二行输出PANG,否则输出Hai Xing。#includeint main() double a,b; scanf(%lf %lf,&a,

    10、&b); double c=a/(b*b); printf(%0.1fn,c); if(c25)printf(PANG); else printf(Hai Xing); return 0;第三章 作业2求奇数和输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理在一行中输出正整数序列中奇数的和。8 7 4 3 70 5 6 101 -1116#includeint main() int n=0; int sum=0; do scanf(%d,&n); if(n%2=1) sum+=n; while (n0); printf(%d,sum); retur

    11、n 0;求整数的位数及各位数字之和输入在一行中给出一个不超过109的正整数N在一行中输出N的位数及其各位数字之和,中间用一个空格隔开3213 6#includeint main() int n,h,i,sum=0; scanf(%d,&n); do h=n%10; n/=10; sum+=h; i+; while (n0); printf(%d %d,i,sum); return 0;简单的猜数字游戏#includeint main() int x; const int M=38; scanf (%d,&x); if(x38)printf(Too big!); if(x=38)printf(G

    12、ood Guess!); if(x38)printf(Too small!); return 0;第四章 作业1奇偶分家输入第一行给出一个正整N(1000);第2行给出N个非负整数,以空格分隔。在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。988 74 101 26 15 0 34 22 773 6#includeint main() int i,n,N; int a=0,b=0; scanf(%d,&n); for (i = 0;i n;i+) scanf(%d,&N); if(N % 2=0)a+; elseb+; printf(%d %d,b,a);A除以B定两个绝对值不超

    13、过100的整数A和B,要求你按照“A/B=商”的格式输出结果在一行中输出结果:如果分母是正数,则输出“A/B=商”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为Error#includeint main() int a,b; scanf(%d %d,&a,&b); if(b0)printf(%d/%d=%.2f,a,b,a*1.0/b); else if(b0)printf(%d/(%d)=%.2f,a,b,a*1.0/b); else printf(%d/%d=Error,a); return 0;高速公路超速处罚在高速公路上行使的机动车,达到或超出本车道限速的1

    14、0%则处200元罚款;若达到或超出50%,就要吊销驾驶证输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。在一行中输出处理意见:若属于正常行驶,则输出“OK”;若应处罚款,则输出“Exceed x%. Ticket 200”;若应吊销驾驶证,则输出“Exceed x%. License Revoked”。其中x是超速的百分比,精确到整数。110 100Exceed 10%. Ticket 200#includeint main() int a,b; int x; scanf(%d %d,&a,&b); x = round(1.0*(a-b)/b*100); if(x10)prin

    15、tf(OKn); else if (x50)printf(Exceed %d%. Ticket 200n,x); else printf(Exceed %d%. License Revokedn,x);return 0;输出三角形面积和周长根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=s(sa)(sb)(sc),其中s=(a+b+c)/2。area = 面积; perimeter = 周长These sides do not correspond to a valid triangle5 5 3area

    16、= 7.15; perimeter = 13.00#include#includeint main() double a,b,c,s; double area,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(These si

    17、des do not correspond to a valid triangle); return 0;输出闰年输入在一行中给出21世纪的某个截止年份。逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出Invalid year!。若不存在任何闰年,则输出“None”。闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除#includeint main() int year, i, count=0; scanf(%d, &year); if(year2100) printf(Invalid year!n); else for(i=2001; i=

    18、year; i+) if(i%4=0&i%100!=0|i%400=0) printf(%dn, i); count+; if(count=0) printf(Nonen); return 0;逆序的三位数程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。#includeint main() int a, b, c, n; scanf(%d,&a); b=a/100;c=(a/10)%10;n=a%10; if(n=0&c=0) printf(%d,b); if(n=0&c!=0) printf(%d%d,c

    19、,b); if(n!=0) printf(%d%d%d,n,c,b); return 0;第四章 作业2.统计学生成绩大于等于90分为A;小于90且大于等于80为B;小于80且大于等于70为C;小于70且大于等于60为D;小于60为E。输入在第一行中给出一个正整数N(1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。777 54 92 73 60 65 691 0 2 3 1#includeint main() int n, score; int i; int A, B, C

    20、, D, E; A=B=C=D=E=0; scanf(%d, &n); for( i=1; i=90) A+; else if(score=80) B+; else if(score=70) C+; else if(score=60) D+; else E+; printf(%d %d %d %d %d, A, B, C, D, E); return 0; 计算油费。(本题编程不完全对)现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。本题要求编写程序,根据输入顾客

    21、的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助),计算并输出应付款。40 97 m301.34#includeint main() float r1,r2; int a,b; char c; double s; scanf(%d %d %c,&a,&b,&c); switch(b) case 90 : r1=6.95; break; case 93 : r1=7.44; break; case 97 : r1=7.93; break; switch(c) case m : r2=0.95; break; case e : r2=0.97; break; s=

    22、a*r1*r2; printf(%.2lf,s); return 0;分别是薯片(crisps)、爆米花(popcorn)、巧克力(chocolate)和可乐(cola),单价分别对应为3.0元/公斤、2.5元/公斤、4.0元/公斤、3.5元/份。首先在屏幕上显示以下菜单:1 crisps 2 popcorn 3 chocolate4 cola 0 exit用户可以输入编号14查询对应食品的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0首先在屏幕上显示菜单。然后对应用户的每个输入,在一行中按格式“price = 价格”输出查询结果,其

    23、中价格保留一位小数。当用户连续查询次数超过5次、或主动输入0时,程序结束,显示“Thanks”。1 7 0 21 crisps2 popcorn3 chocolate4 cola0 exitprice = 3.0price = 0.0Thanks【程序】#includeint main() int i, a; printf(1 crispsn 2 popcornn 3 chocolaten 4 colan 0 exitn); for(i=1;i=5;i+) scanf(%d,&a); if(a=0) break; else switch(a) case 1: printf(price = 3.

    24、0n);break; case 2: printf(price = 2.5n);break; case 3: printf(price = 4.0n);break; case 4: printf(price = 3.5n);break; default: printf(price = 0.0n);break; printf(Thanksn); return 0;读入一个实数、一个操作符(仅限于+ - * /)、一个实数,求该表达式的值。若除数为0,输出“The divisor is 0#includeint main() int a, b; char op; double c; scanf(%

    25、d %c %d,&a,&op,&b); if(b=0) switch(op) case+: c=a+b; printf(%.2f,c);break; case-: c=a-b; printf(%.2f,c);break; case*: c=a*b; printf(%.2f,c);break; case/: printf(The divisor is 0.);break; else switch(op) case+: c = a+b; printf(%.2f,c);break; case-: c = a-b; printf(%.2f,c);break; case*: c = a*b; print

    26、f(%.2f,c);break; case/: c = 1.0*a/b; printf(%.2f,c);break; return 0;第四章 作业3.有重复,本题略对于给定的正整数N,求它的位数及其各位数字之和3213 6#includeint main() int n,h,i = 0,sum = 0; scanf(%d,&n); do h = n%10; n/=10; sum+=h; i+; while(n0); printf(%d %d,i,sum); return 0 ;找出给定一系列整数中的最小值。输入在一行中首先给出一个正整数n,之后是n个整数,其间以空格分隔。在一行中按照“min = 最小值”的格式输出n个整数中的最小值。4 -2 -123 100 0min = -123#includeint main()int n,i,m,min;scanf(%d,&n);scanf(%d,&m);min=m;for(i=1;im)min=m; printf(min = %d,min);return 0;输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:0: ling 1: yi 2: er 3: san 4: s


    注意事项

    本文(C语言PTA平台习题与答案.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开