PTA实验LB05LB08Word文档下载推荐.docx
- 文档编号:21167344
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:35
- 大小:27.28KB
PTA实验LB05LB08Word文档下载推荐.docx
《PTA实验LB05LB08Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《PTA实验LB05LB08Word文档下载推荐.docx(35页珍藏版)》请在冰豆网上搜索。
输入样例:
23
输出样例:
s=246
intmain(){
inta,t,n,i,sum;
a,&
n);
sum=0,t=0;
for(i=1;
=n;
t=t*10+a;
sum=sum+t;
s=%d"
sum);
7-8
猜数字游戏
(15分)
猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Toobig”),还是小了(“Toosmall”),相等表示猜到了。
如果猜到,则结束程序。
程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!
”;
如果3次以内猜到该数,则提示“LuckyYou!
如果超过3次但是在N(>
3)次以内(包括第N次)猜到该数,则提示“GoodGuess!
如果超过N次都没有猜到,则提示“GameOver”,并结束程序。
如果在到达N次之前,用户输入了一个负数,也输出“GameOver”,并结束程序。
输入第一行中给出两个不超过100的正整数,分别是游戏机产生的随机数、以及猜测的最大次数N。
最后每行给出一个用户的输入,直到出现负数为止。
在一行中输出每次猜测相应的结果,直到输出猜对的结果或“GameOver”则结束。
584
70
50
56
58
60
-2
Toobig
Toosmall
GoodGuess!
intmain()
{
intnum,n;
intinp;
intfinished=0;
intcnt=0;
num,&
do{
scanf("
%d"
inp);
cnt++;
if(inp<
0){
printf("
GameOver\n"
);
finished=1;
}elseif(inp>
num){
Toobig\n"
}elseif(inp<
Toosmall\n"
}else{
if(cnt==1){
Bingo!
\n"
}
elseif(cnt<
=3){
LuckyYou!
finished=1;
if(cnt==n){
if(!
finished){
while(!
finished);
7-9
兔子繁衍问题
一对兔子,从出生后第3个月起每个月都生一对兔子。
小兔子长到第3个月后每个月又生一对兔子。
假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对
输入在一行中给出一个不超过10000的正整数N。
在一行中输出兔子总数达到N最少需要的月数。
30
9
intmain(void){
intN;
if(N==1)printf("
1"
else{
inti,count,x1,x2,sum,x;
sum=2,x1=1,x2=1,x=0;
for(i=2;
x2<
N;
x=x1+x2;
x1=x2;
x2=x;
i);
7-10
高空坠球
皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。
问皮球在第n次落地时,在空中一共经过多少距离第n次反弹的高度是多少
输入在一行中给出两个非负整数,分别是皮球的初始高度和n,均在长整型范围内。
在一行中顺序输出皮球第n次落地时在空中经过的距离、以及第n次反弹的高度,其间以一个空格分隔,保留一位小数。
题目保证计算结果不超过双精度范围。
335
7-11
求分数序列前N项和
本题要求编写程序,计算序列2/1+3/2+5/3+8/5+...的前N项之和。
注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
输入在一行中给出一个正整数N。
在一行中输出部分和的值,精确到小数点后两位。
20
#include<
intmain(void)
intn=0,time=0;
doublesum=0,h=0;
%lf%d"
h,&
while(h!
=0&
&
time<
n){
sum+=h;
time++;
h=h/2;
if(n==0){
sum=0;
h=0;
else
sum=sum-h;
%%"
sum,h);
intN,count;
doublefm=1,fz=2,i,sum=0,t;
for(count=1;
count<
count++){
i=*fz/fm;
sum=sum+i;
t=fm+fz;
fm=fz;
fz=t;
}
%.2f\n"
7-1
求e的近似值
自然常数e可以用级数1+1/1!
+1/2!
+⋯+1/n!
来近似计算。
本题要求对给定的非负整数n,求该级数的前n项和。
输入第一行中给出非负整数n(≤1000)。
在一行中输出部分和的值,保留小数点后八位。
10
2.
inti,j,n;
doublefac=1;
doublesum=1;
fac=fac*i;
sum=sum+fac;
%.8lf"
7-2
换硬币
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法
输入在一行中给出待换的零钱数额x∈(8,100)。
要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。
每行输出一种换法,格式为:
“fen5:
5分硬币数量,fen2:
2分硬币数量,fen1:
1分硬币数量,total:
硬币总数量”。
最后一行输出“count=换法个数”。
13
fen5:
2,fen2:
1,fen1:
1,total:
4
1,fen2:
3,fen1:
2,total:
6
2,fen1:
4,total:
7
6,total:
8
count=4
intc5=0,c2=0,c1=0,cnt=0;
intx=13;
x);
for(c5=x/5;
c5>
0;
c5--)
for(c2=x/2;
c2>
c2--)
for(c1=x;
c1>
c1--)
if(c5*5+c2*2+c1==x){.+因子k”,其中完数和因子均按递增顺序给出。
若区间内没有完数,则输出“None”。
230
6=1+2+3
28=1+2+4+7+14
inta[1000],b,c,d,e,m,n,i,j,k;
scanf("
m,&
e=0;
for(i=m;
i<
=n;
i++)
b=0;
c=1;
for(j=1;
j<
i;
j++)
d=i%j;
if(d==0)
b+=j;
a[c]=j;
c++;
if(b==i)
if(e>
0)printf("
for(k=1;
k<
=c-1;
k++)
if(k==1)printf("
%d=1"
elseprintf("
+%d"
a[k]);
e++;
if(e==0)printf("
None"
return0;
打印九九口诀表
下面是一个完整的下三角九九口诀表:
1*1=1
1*2=22*2=4
1*3=32*3=63*3=9
1*4=42*4=83*4=124*4=16
1*5=52*5=103*5=154*5=205*5=25
1*6=62*6=123*6=184*6=245*6=306*6=36
1*7=72*7=143*7=214*7=285*7=356*7=427*7=49
1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64
1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81
本题要求对任意给定的一位正整数N,输出从1*1到N*N的部分口诀表。
输入在一行中给出一个正整数N(1≤N≤9)。
输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。
intmain()
{inti,j,N;
for(i=1;
=N;
i++)
{for(j=1;
=i;
j++){printf("
%d*%d=%-4d"
j,i,i*j);
printf("
找出指定数量学生的最高分
本题要求编写程序,找出最高分。
输入在第一行中给出正整数n,即学生人数。
第二行给出n个非负整数,即这n位学生的成绩,其间以空格分隔。
在一行中输出最高分
82549873
98
inti,n,m=-1,a,s=0;
for(i=0;
n;
a);
if(m<
a)
m=a;
else;
m);
找出一批学生的最高分
输入在一行中给出一系列非负整数,其间以空格分隔。
当读到负整数时,表示输入结束,该数字不要处理。
在一行中输出最高分。
在这里给出一组输入。
例如:
6788735409560-1
在这里给出相应的输出。
95
if(a<
0)return0;
while
(1){
if(a<
0)
break;
if(m<
m=a;
逆序输出一个整数的各位数字
本题要求编写程序,对输入的一个非负整数,从低位开始逐位分割并输出它的各位数字。
输入在一行中给出一个长整型范围内的非负整数。
从低位开始逐位输出该整数的各位数字,每个数字后面有一个空格。
1234560
0654321
intn;
&
intm;
inta[100];
intk;
while(n>
=10)
{
m=n%10;
%d"
m);
n=n/10;
n);
7-12
输出2到n之间的全部素数
本题要求输出2到n之间的全部素数,每行输出10个。
素数就是只能被1和自身整除的正整数。
注意:
1不是素数,2是素数。
输入在一行中给出一个长整型范围内的整数。
输出素数,每个数占6位,每行输出10个。
如果最后一行输出的素数个数不到10个,也需要换行。
2357
main()
inti,j,n,k=0;
for(j=2;
j<
i;
if(i%j==0)break;
if(i==j)
{printf("
%6d"
k++;
if(k%10==0)printf("
7-13
输出前n个Fibonacci数
本题要求编写程序,输出菲波那契(Fibonacci)数列的前N项,每行输出5个,题目保证输出结果在长整型范围内。
Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列,例如:
1,1,2,3,5,8,13,...。
输入在一行中给出一个整数N(1≤N≤46)。
输出前N个Fibonacci数,每个数占11位,每行输出5个。
如果最后一行输出的个数不到5个,也需要换行。
如果N小于1,则输出"
Invalid."
输入样例1:
输出样例1:
11235
813
输入样例2:
输出样例2:
Invalid.
intf1,f2,fn,i,n,a=1;
f1=1;
f2=1;
if(n<
=1)if(n<
1)printf("
%11d"
a);
else{
%11d%11d"
f1,f2);
for(i=3;
i++)
fn=f2+f1;
fn);
if(i%5==0)
else;
f1=f2;
f2=fn;
}}
7-14
穷举问题-搬砖
某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块。
如果想用n人正好搬n块砖,问有多少种搬法
输入在一行中给出一个正整数n。
输出在每一行显示一种方案,按照"
men=cnt_m,women=cnt_w,child=cnt_c"
的格式,输出男人的数量cnt_m,女人的数量cnt_w,小孩的数量cnt_c。
请注意,等号的两侧各有一个空格,逗号的后面也有一个空格。
如果找不到符合条件的方案,则输出"
45
men=0,women=15,child=30
men=3,women=10,child=32
men=6,women=5,child=34
men=9,women=0,child=36
作者:
杨起帆
单位:
浙江大学城市学院
时间限制:
400ms
内存限制:
64MB
代码长度限制:
16KB
doublechild,men,wom;
intn,c;
for(men=0;
men<
men++)
for(wom=0;
wom<
wom++)
for(child=0;
child<
child++)
if(men+child+wom==n&
men*3+wom*2+child*==n)
men=%.0f,women=%.0f,child=%.0f\n"
men,wom,child);
if(n<
3)printf("
6-5
使用函数求素数和
本题要求实现一个判断素数的简单函数、以及利用该函数计算给定区间内素数和的函数。
函数接口定义:
intprime(intp);
intPrimeSum(intm,intn);
其中函数prime当用户传入参数p为素数时返回1,否则返回0;
函数PrimeSum返回区间[m,
n]内所有素数的和。
题目保证用户传入的参数m≤n。
裁判测试程序样例:
intm,n,p;
m,&
Sumof("
for(p=m;
p<
p++){
if(prime(p)!
=0)
p);
)=%d\n"
PrimeSum(m,n));
/*你的代码将被嵌在这里*/
-110
Sumof(2357)=17
intprime(intp){inti;
for(i=2;
=p/2;
{if(p%i==0)break;
}if(i>
p/2&
p>
1)
return1;
}intPrimeSum(intm,intn){inti,sum=0;
=n){for(i=m;
i++){if(prime(i)==1){sum=sum+i;
}}
}returnsum;
6-6
数字金字塔
本题要求实现函数输出n行数字金字塔。
voidpyramid(intn);
其中n是用户传入的参数,为[1,9]的正整数。
要求函数按照如样例所示的格式打印出n行数字金字塔。
注
意每个数字后面跟一个空格。
{
pyramid(n);
5
1
22
333
4444
55555
voidpyramid(intn){
inti,j,k,m;
m=n;
i++,m--){
j=m;
for(;
j>
1;
j--)
"
for(k=i;
k>
k--)
i);
printf("
6-7
使用函数计算两个复数之积
(10分)
若两个复数分别为:
c1=x1+y1i和c2=x2+y2i,则它们的乘积为
c1×
c2=(x1x2−y1y2)+(x1y2+x2y1)i。
本题要求实现一个函数计算两个复数之积。
doubleresult_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PTA 实验 LB05LB08
![提示](https://static.bdocx.com/images/bang_tan.gif)