2023年05月C语言二级答案及解析.pdfVIP

  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文档。上传文档
查看更多

一、编程题

1、数字放大

给定一个整数序列以及放大倍数x,将序列中每个整数放大x倍后输出。

时间限制:1000

内存限制:65536

输入

包含三行:第一行为N,表示整数序列的长度(N≤100);

第二行为N个整数(不超过整型范围),整数之间以一个空格分开;

第三行包含一个整数(不超过整型范围),为指定的整数x。

输出

N个整数,为原序列放大之后的序列,整数之间以一个空格分开。

样例输入

3

157

2

样例输出

21014

提示

注意答案的数据范围

参考答案:

includebits/stdc++.h

usingnamespacestd;

intmain()

{

inta[100],n,i,x;

cinn;

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

cina[i];

cinx;

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

couta[i]*x;

}

解析:【喵呜刷题小喵解析】:这个题目要求将给定的整数序列中的每个整数放大

x倍后输出。首先,我们定义了一个整数数组a[100]来存储输入的整数序列,变量n

表示整数序列的长度,变量i用于循环,变量x表示放大的倍数。接着,我们通过cin

语句读取n的值,然后通过循环读取整数序列中的每个整数,并存储在数组a中。然

后,我们通过cin语句读取放大的倍数x。最后,我们通过循环将数组a中的每个整

数放大x倍,并通过cout语句输出放大后的序列。注意,在读取输入时,我们使用i

从0开始循环,而不是从1开始。这是因为在C++中,数组下标是从0开始的,所以

我们应该从0开始循环。另外,我们在输出时,需要在每个整数后面加上一个空格

,以便将每个整数分开。最后,我们在程序末尾添加了return

0语句,表示程序正常结束。

2、单词倒排

编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单

词的顺序倒排并输出,依然以单个空格分隔。

时间限制:10000

内存限制:65536

输入

输入为一个字符串(字符串长度至多为100)。

输出

输出为按要求排序后的字符串。

样例输入

Iamastudent

样例输出

studentaamI

参考答案:

includebits/stdc++.h

voidflashback(chara[],intj,intp);//倒序函数

intmain(void)

{

chara[10000];

intj,i,k,end;

chartemp;

gets(a);

end=strlen(a)-1;

for(i=0;iend+1;i++)//先处理特殊符号

if(!isalpha(a[i]))//非字母将第一个符号替换为’’

{

a[i]=’’;

j=0;//j用来记录连续特殊带符号的个数

if(i==0)//如果是首字符删除他

{

for(k=1;k=end-1;k++)

a[k]=a[k+1];

a[k]=‘\0’;

}

elsek=i+1;//k为特殊符号后的下一字符

while(!isalpha(a[i])i(end+1))

{

i++;

j++;

}

j–;

if(i==(end+1))//如果特殊字符结尾,截断字符串

a[k-1]=‘\0’;

else{

for(k=1;k=end-j;k++)//通过搬移数组去除掉连续的特殊字符

a[k]=a[k+j];

a[k]=‘\0’;

}

end=strlen(a)-1;

}

flashback(a,0,end);//句子倒序

for(i=0;iend;i++)

if(!isspace(a[i])iend){

j=i++;

while(!isspace(a[i])iend)

i++;

if(iend)k=–i;

elsek=end;

flashback(a,j,k);

}

puts(a);

}

voidflashback(chara[],intj,intp)

{

inti;

chartemp;

for(i=j;ip;i++,p–)

{

temp=a[p];

a[p]=a[i];

a[i]=temp;

}

}

解析:【喵呜刷题小喵解析】:本题要求将输入的英文字符串中的单词倒序排列。

首先,我们需要处理

文档评论(0)

喵呜刷题 + 关注
实名认证
文档贡献者

来喵呜刷题,完成你的职业蜕变!

1亿VIP精品文档

相关文档