2025年6月青少年软件编程C语言等级考试四级真题(含答案).docxVIP

2025年6月青少年软件编程C语言等级考试四级真题(含答案).docx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

2025年6月青少年软件编程C语言等级考试四级真题(含答案)

一、编程题(共4题,共100分)。

1.打印金字塔。

给定一个整数n,请打印一个具有n层结构的三角形金字塔,具体图形见样例。

输入格式:第一行,单个整数表示n。

输出格式:若干行,表示一个金字图案,注意行末不要有空格。

输入样例1

1

输出样例1

/\

/__\

输入样例2

3

输出样例2

/\

/__\

/\/\

/__\/__\

/\/\/\

/__\/__\/__\

时间限制:1000ms。

内存限制:512MiB。

参考代码。

#includeiostream

usingnamespacestd;

voiddraw(intnum,intspace){//绘制每层。

//每层的第一行。

for(inti=0;ispace;i++)cout;

for(inti=1;i=num;i++)cout/\\;

coutendl;

//每层的第二行。

for(inti=0;ispace;i++)cout;

for(inti=1;i=num;i++)cout/__\\;

coutendl;

}

intmain(){

intn;

cinn;

for(inti=1;i=n;i++){

draw(i,2*(n-i));//第i层包含i座金字塔,前导空格:2×(n-i)个。

}

return0;

}

2.统计数带。

给定两个正整数a和b,它们之间的十进制数字组成了一条数带,请问其中相邻的两位数字组成12的情况出现了多少次?例如a=210,b=213,则数带为2102112122132~1~0~2~1~1~2~1~2~2~1~3210211212213。

其中12出现了两次,第一个12由211的个位和212的百位组成。

输入格式:两个整数a和b。

输出格式:数带中12出现的次数。

输入样例1

210212

输出样例1

2

输入样例2

19

输出样例2

1

说明提示:1≤a≤b≤106。

时间限制:1000ms。

内存限制:512MiB。

参考代码。

#includeiostream

#includestring

usingnamespacestd;

intmain(){

inta,b;

cinab;

//生成数带字符串。

stringtape;

for(intnum=a;num=b;++num){

tape+=to_string(num);

}

//统计12出现次数。

intcount=0;

for(inti=0;itape.size()-1;++i){

if(tape[i]==1tape[i+1]==2){

count++;

}

}

coutcountendl;

return0;

}

3.排队序列。

已知现在有n个人需要打电话,他们已经排好了队伍,每个人打电话的时间为Ti。请你帮助他们找到一个排队打电话的队列方案,使队伍的平均等待时间更短。

输入格式:第一行,一个正整数n,表示一共n个人。

第二行,n个数字,分别表示第1个人到第n个人每人的打电话时间T1,T2,……,Tn,每个数据之间有1个空格。

输出格式:第一行为一种排队顺序,即原先队列编号1到n的一种排列。

第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位,按照C语言的浮点数保留规则进行保留)。

输入样例

10

56121991000234335599812

输出样例

32781496105

291.90

说明提示:1≤n≤100000;1≤Ti≤1000000。

如果有多种排列都可以让平均等待时间最短,则输出其中字典序最小的序列。字典序指的是英文单词在字典中排序使用的规则顺序。

时间限制:1000ms。

内存限制:512MiB。

参考代码。

#includeiostream

#includevector

#includealgorithm

#includeiomanip

usingnamespacestd;

st

您可能关注的文档

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档