- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
青少年软件编程(C语言)等级考试(三级)试卷
分数:100题数:5
一、编程题(共5题,共100分)
1. 数对
给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。
比如给定1432971822,得到的答案是3,因为2是1的两倍,4是2个两倍,18是9的两倍。
时间限制:1000
内存限制:65536
输入:一行,给出2到15个两两不同且小于100的正整数。最后用0表示输入结束。
输出:一个整数,即有多少个数对满足其中一个数是另一个数的两倍。
样例输入:14329718220
样例输出:3
参考答案:
#includestdio.h
intmain(){
inti=0,l=0,k,a[255],sum=0;
scanf(%d,a[0]);
for(i=0;a[i]!=0;)
scanf(%d,a[++i]);
for(l=0;li;l++)
for(k=0;ki;k++)
if(a[k]==2*a[l])
sum++;
printf(%d\n,sum);
return0;
}
2. 井和绳子
有A,B,C,D,E五家人共用一口井,已知井深不超过k米。A,B,C,D,E的绳长各不相同,而且厘米表示的绳长一定是整数。
从井口放下绳索正好达到水面时:
(a)需要A家的绳n1条接上B家的绳1条
(b)需要B家的绳n2条接上C家的绳1条
(c)需要C家的绳n3条接上D家的绳1条
(d)需要D家的绳n4条接上E家的绳1条
(e)需要E家的绳n5条接上A家的绳1条
问井深和各家绳长。
时间限制:1000
内存限制:65536
输入:输入只有1行。包括空格分开的6个整数。第一个整数k(1=k=20),代表井的最大深度(单位:米)。接下来是5个正整数n1,n2,n3,n4,n5。这五个整数的含义见上面的题目描述。
输出:输出只有1行。如果找到了可行解,就输出6个整数,用空格分开,分别代表井的深度和A,B,C,D,E的绳长(单位都是厘米)。如果有多组可行解,输出井的深度最小的那组解。如果不存在可行解,就输出一行:notfound
样例输入:1023456
样例输出:72126519114812976
参考答案:
#includebits/stdc++.h
usingnamespacestd;
intmain(){
intk,n1,n2,n3,n4,n5;
inta,b,c,d,e,len;
cinkn1n2n3n4n5;
for(len=1;len=k*100;len++){
for(a=1;a=len;a++){
b=len-a*n1;
c=len-b*n2;
d=len-c*n3;
e=len-d*n4;
if(a==b||a==c||a==d||a==e||b==c||b==d||b==e||c==d||c==e||d==e)continue;
if(e*n5+a==len){
printf(%d%d%d%d%d%d,len,a,b,c,d,e);
return0;
}
}
}
printf(notfound);
return0;
}
3. 爬楼
已知楼梯的数量,可以每次走2级或者3级,求不同的走法数
例如:楼梯一共有7级,一共3种方法:223或者232或者322。
时间限制:1000
内存限制:65536
输入:输入包含若干行,每行包含一个正整数N,代表楼梯级数,1=N=50。最后一行为0,表示测试结束。
输出:不同的走法数,每一行输入对应一行输出:样例输入:7
0
样例输出:3
4. 表达式求值
输入一个布尔表达式,请你输出它的真假值。
比如:(V|V)F(F|V)
V表示true,F表示false,表示与,|表示或,!表示非。
上式的结果是F
时间限制:1000
内存限制:65536
输入:输入包含多行,每行一个布尔表达式,表达式中可以有空格,总长度不超过1000
输出:对每行输入,如果表达式为真,输出V,否则出来F
样例输入:(V|V)F(F|V)
!V|VV!F(F|V)
文档评论(0)