C语言PTA平台习题与答案Word格式文档下载.docx

上传人:b****3 文档编号:6901584 上传时间:2023-05-07 格式:DOCX 页数:61 大小:137.57KB
下载 相关 举报
C语言PTA平台习题与答案Word格式文档下载.docx_第1页
第1页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第2页
第2页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第3页
第3页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第4页
第4页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第5页
第5页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第6页
第6页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第7页
第7页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第8页
第8页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第9页
第9页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第10页
第10页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第11页
第11页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第12页
第12页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第13页
第13页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第14页
第14页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第15页
第15页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第16页
第16页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第17页
第17页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第18页
第18页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第19页
第19页 / 共61页
C语言PTA平台习题与答案Word格式文档下载.docx_第20页
第20页 / 共61页
亲,该文档总共61页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言PTA平台习题与答案Word格式文档下载.docx

《C语言PTA平台习题与答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言PTA平台习题与答案Word格式文档下载.docx(61页珍藏版)》请在冰点文库上搜索。

C语言PTA平台习题与答案Word格式文档下载.docx

scanf(”%d%d"

,&a,&b);

%d+%d=%d\n"

,a,b,a+b);

%d—%d=%d\n”,a,b,a—b);

%d*%d=%d\n"

a,b,a*b);

printf(”%d/%d=%d"

a,b,a/b);

③整数152的各位数字本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值

152=个位数字+十位数字*10+百位数字*100

inta=152/100;

intc=152%10;

intcount=152%100;

intb=count/10;

152=%d+%d*10+%d*100”,c,b,a);

第二章作业3

①求奇数分之一序列前N项和

计算序列1+1/3+1/5+.。

.的前N项之和

输入在一行中给出一个正整数N。

在一行中按照“sum=S"

的格式输出部分和的值S,精确到小数点后6位。

题目保证计算结果不超过双精度范围

intn;

inti=1;

doubles=0;

scanf(”%d”,&n);

for(i=1;

i〈=n;

i++)

{s+=1.0/(2*i—1);

sum=%。

6f"

s);

return0;

②计算序列1-1/4+1/7-1/10+.。

的前N项之和在一行中按照“sum=S”的格式输出部分和的值S,精确到小数点后三位。

#include<

stdio.h>

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);

③求平方根序列前N项和

计算平方根序列√​1​​​+√​2​​​+√​3​​​+⋯的前N项之和

#include〈math。

intn,i;

doublex,s=0;

%d"

&n);

for(i=1;

i〈=n;

x=sqrt(i);

s=s+x;

}

printf(”sum=%.2f\n"

return0;

④特殊a串数列求和

给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和.

math。

intn,a,i,j;

doublenum=0,sum=0;

%d%d”,&a,&n);

=n;

{

for(j=1;

j<

=i;

j++)

num=num+a*pow(10,j—1);

}

sum=sum+num;

num=0;

s=%d”,sum);

第二章作业4

①本题目要求计算下列分段函数f(x)的值:

输入在一行中给出实数x

在一行中按“f(x)=result”的格式输出,其中x与result都保留一位小数。

输入样例1:

10

输出样例:

1

f(10.0)=0。

输入样例2:

234

输出样例2:

f(234。

0)=234。

#include〈stdio.h〉

doublex;

%lf”,&x);

if(x==10){printf("

f(%0。

1f)=0.1”,x);

else{printf(”f(%0。

1f)=%0.1f"

,x,x);

②计算分段函数

本题目要求计算下列分段函数f(x)的值:

注:

可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。

doublea;

%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);

③新胖子公式输入在一行中给出两个正数,依次为一个人的体重(以kg为单位)和身高(以m为单位),其间以空格分隔.其中体重不超过1000kg,身高不超过3.0m。

首先输出将该人的体重和身高代入肥胖公式的计算结果,保留小数点后1位.如果这个数值大于25,就在第二行输出 

PANG,否则输出 

HaiXing。

doublea,b;

%lf%lf”,&a,&b);

doublec=a/(b*b);

printf(”%0.1f\n”,c);

if(c〉25){printf("

PANG”);

else{printf("

HaiXing"

);

第三章作业2

 

①求奇数和输入在一行中给出一系列正整数,其间以空格分隔。

当读到零或负整数时,表示输入结束,该数字不要处理

在一行中输出正整数序列中奇数的和。

87437056101—1

116

#include〈stdio.h〉

intn=0;

intsum=0;

do

if(n%2==1){sum+=n;

while(n>

0);

printf(”%d"

sum);

②求整数的位数及各位数字之和

输入在一行中给出一个不超过10​9​​的正整数N

在一行中输出N的位数及其各位数字之和,中间用一个空格隔开

321

36

intn,h,i,sum=0;

h=n%10;

n/=10;

sum+=h;

i++;

while(n〉0);

%d%d"

,i,sum);

③简单的猜数字游戏

intx;

constintM=38;

scanf(”%d”,&x);

if(x〉38){printf("

Toobig!

"

);

if(x==38){printf("

GoodGuess!

if(x<

38){printf("

Toosmall!

”);

第四章作业1

①奇偶分家输入第一行给出一个正整N(≤1000);

第2行给出N个非负整数,以空格分隔。

在一行中先后输出奇数的个数、偶数的个数。

中间以1个空格分隔。

9

887410126150342277

inti,n,N;

inta=0,b=0;

%d”,&

n);

for(i=0;

i<

n;

%d"

&N);

if(N%2==0){a++;

else{b++;

printf(”%d%d"

,b,a);

②A除以B定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果

在一行中输出结果:

如果分母是正数,则输出“A/B=商”;

如果分母是负数,则要用括号把分母括起来输出;

如果分母为零,则输出的商应为Error

inta,b;

&

a,&

b);

if(b〉0)printf("

%d/%d=%。

2f”,a,b,a*1.0/b);

elseif(b〈0)printf(”%d/(%d)=%.2f"

,a,b,a*1。

0/b);

elseprintf("

%d/%d=Error”,a);

③高速公路超速处罚

在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;

若达到或超出50%,就要吊销驾驶证

输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。

在一行中输出处理意见:

若属于正常行驶,则输出“OK”;

若应处罚款,则输出“Exceedx%。

Ticket200”;

若应吊销驾驶证,则输出“Exceedx%.LicenseRevoked”。

其中x是超速的百分比,精确到整数。

110100

Exceed10%。

Ticket200

inta,b;

scanf(”%d%d”,&a,&b);

x=round(1.0*(a—b)/b*100);

if(x〈10){printf(”OK\n”);

elseif(x<

50){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=周长Thesesidesdonotcorrespondtoavalidtriangle

553

area=7。

15;

perimeter=13。

00

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;

area=%。

2f;

perimeter=%.2f”,area,perimeter);

}else{

printf(”Thesesidesdonotcorrespondtoavalidtriangle”);

⑤输出闰年

输入在一行中给出21世纪的某个截止年份。

逐行输出满足条件的所有闰年年份,即每个年份占一行。

输入若非21世纪的年份则输出”Invalidyear!

”。

若不存在任何闰年,则输出“None”.

闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除

#include〈stdio.h>

intyear,i,count=0;

scanf(”%d”,&

year);

if(year<

=2000||year>

2100)

printf(”Invalidyear!

else{

for(i=2001;

i<

=year;

i++){

if(i%4==0&

i%100!

=0||i%400==0){

printf("

%d\n"

,i);

count++;

if(count==0)

printf("

None\n”);

⑥逆序的三位数

程序每次读入一个正3位数,然后输出按位逆序的数字。

当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7.

inta,b,c,n;

&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,b);

if(n!

=0)printf(”%d%d%d"

n,c,b);

第四章作业2

①。

统计学生成绩

大于等于90分为A;

小于90且大于等于80为B;

小于80且大于等于70为C;

小于70且大于等于60为D;

小于60为E。

输入在第一行中给出一个正整数N(≤1000),即学生人数;

第二行中给出N个学生的百分制成绩,其间以空格分隔。

在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。

7

77549273606569

10231

intn,score;

inti;

intA,B,C,D,E;

A=B=C=D=E=0;

scanf(”%d”,&n);

for(i=1;

i〈=n;

i++){

scanf(”%d”,&

score);

if(score>

=90)

A++;

elseif(score〉=80)

B++;

elseif(score>

=70)

C++;

=60)

D++;

else

E++;

printf(”%d%d%d%d%d”,A,B,C,D,E);

②计算油费.(本题编程不完全对)现在90号汽油6.95元/升、93号汽油7。

44元/升、97号汽油7.93元/升。

为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。

本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m-自助,e—协助),计算并输出应付款。

4097m

301。

34

floatr1,r2;

charc;

doubles;

%d%d%c”,&

b,&

c);

switch(b)

case90:

r1=6.95;

break;

case93:

r1=7。

44;

case97:

93;

break;

switch(c)

case’m'

r2=0.95;

case'

e’:

r2=0.97;

s=a*r1*r2;

printf(”%。

2lf”,s);

③分别是薯片(crisps)、爆米花(popcorn)、巧克力(chocolate)和可乐(cola),单价分别对应为3。

0元/公斤、2.5元/公斤、4。

0元/公斤、3。

5元/份。

首先在屏幕上显示以下菜单:

[1]crisps

[2]popcorn

[3]chocolate

[4]cola[0]exit

用户可以输入编号1~4查询对应食品的单价。

当连续查询次数超过5次时,程序应自动退出查询;

不到5次而用户输入0即退出;

输入其他编号,显示价格为0

首先在屏幕上显示菜单.然后对应用户的每个输入,在一行中按格式“price=价格”输出查询结果,其中价格保留一位小数.当用户连续查询次数超过5次、或主动输入0时,程序结束,显示“Thanks”。

1702

[1]crisps

[2]popcorn

[4]cola

[0]exit

price=3。

price=0。

Thanks

【程序】

inti,a;

[1]crisps\n”

"

[2]popcorn\n”

”[3]chocolate\n”

"

[4]cola\n”

[0]exit\n”);

=5;

i++){

%d”,&a);

if(a==0)

else

switch(a){

case1:

0\n"

break;

case2:

price=2。

5\n”);

break;

case3:

price=4。

0\n”);

case4:

5\n"

default:

printf(”price=0。

Thanks\n"

④读入一个实数、一个操作符(仅限于+—*/)、一个实数,求该表达式的值。

若除数为0,输出“Thedivisoris0

stdio.h〉

inta,b;

charop;

doublec;

scanf(”%d%c%d"

&a,&

op,&

b);

if(b==0)

switch(op){

case'

+’:

c=a+b;

%.2f”,c);

—’:

c=a-b;

2f"

,c);

*’:

c=a*b;

printf(”%.2f”,c);

case’/’:

printf(”Thedivisoris0.”);

switch(op){

+’:

c=a+b;

c=a-b;

c);

*'

c=a*b;

%。

2f”,c);

c=1.0*a/b;

%.2f”,c);

第四章作业3

①.有重复,本题略

②对于给定的正整数N,求它的位数及其各位数字之和

intn,h,i=0,sum=0;

n);

do

h=n%10;

sum+=h;

i++;

while(n〉0);

%d%d”,i,sum);

③找出给定一系列整数中的最小值.输入在一行中首先给出一个正整数n,之后是n个整数,其间以空格分隔。

在一行中按照“min=最小值”的格式输出n个整数中的最小值.

4-2-1231000

min=-123

intn,i,m,min;

scanf(”%d”,&

scanf(”%d”,&m);

min=m;

for(i=1;

i〈n;

scanf("

m);

if(min>

m)

min=%d”,min);

④输入一个整数,输出每个数字对应的拼音。

当整数为负数时,先输出fu字。

十个数字对应的拼音如下:

0:

ling1:

yi2:

er3:

san4

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2