首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcb
给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcb
admin
2017-07-27
51
问题
给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedgf。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 void fun(char *s)
3 { int i,n,k;char c;
4 n=0,
5 for(i=0;s
!=’\0’;i++)n++;
6 /**********found**********/
7 if(n%2==0)k=n__1__;
8 else k=n-2;
9 /**********found**********/
10 c=__2__;
11 for(i=k-2; i>=1j i=i-2) s[i+2]=s
;
12 /**********found**********/
13 s[1]=__3__;
14 }
15 main()
16 { char s[80]=’’abcdefgh’’;
17 printf(’’\nThe original string is:%s\n’’,s);
18 fun(s);
19 printf(’’\nThe result is:%s\n’’,s);
20 }
选项
答案
(1)1 (2)s[k] (3)c
解析
函数fun的功能是移动下标为奇数位置的字符。
第一空:“for(i=0;s
!=’\0’;i++)n++;”n记录了数组s的长度,“if(n%2==0)”如果长度n是偶数,那么最右边被移出的字符的下标是在n-1,如果n是奇数,那么最右边被移出的字符的下标是n-2,因此第一空处应为“1”。
第二空:题目要求最右边被移出字符串的字符绕回放到第一个奇数位置,因此最右边被移出的字符是s[k],在s[k]被替换之前必须先把s[k]保存在其他变量中,故第二空处应为“s[k]”,将s[k]保存在c中。
第三空:此处是把最右边被移出字符串的字符绕回放到第一个奇数位置,最右边被移出字符保存在c,第一奇数位置是s[1],故第三处应为“c”。
转载请注明原文地址:https://kaotiyun.com/show/OKDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许删除的一端称作()。
设有定义:Structcomplex{intreal,unreal;}data1={1,8},data2;则以下赋值语句中错误的是()。
设有如下的程序段:charstr[]="HelloWorld";char*ptr;ptr=str;执行上面的程序段后,*(ptr+10)的值为()。
有以下程序:#include<stdio.h>main(){inta=6,b=7,m=I;switch(a%2){case0:m++;break;case1:m++;switch(b%2)
若有说明intm[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中0<=i<3,0<=j<4)值的正确引用为()。
设有如下关系表:则下列操作正确的是()。
有以下程序:#include<string.h>voidf(charp[][10],intn)/*字符串从小到大排序*/{chart[10];inti,j;for(i=0;i<n-1;i++)fo
以下程序的功能是:通过函数func输入字符并统计输入字符的个数。输入时用字符作为输入结束标志。请填空。#include<stdio.h>long();/*函数说明语句*/main(){longn;n=func(
以下程序的输出结果是()。#include<stdlib.h>main(){char*s1,*s2,m;s1=s2=(char*)malloc(sizeof(char));*s1=15;*s2=2
数据处理的最小单位是()。
随机试题
下列画线字释义全部正确的一组是()
在Windows资源管理器窗口中,左窗口显示的内容是()
心肌缺血很少影响到
给予地高辛每日维持量治疗,地高辛的半衰期为
A、水、钠潴留B、促进胃酸分泌C、抑制免疫功能D、抑制蛋白质合成E、兴奋中枢神经系统糖皮质激素禁用于胃溃疡是因为
甲诉乙侵权纠纷一案,法院适用普通程序对案件进行审理,在答辩期满之前双方当事人同意进行调解。则关于本案的调解,下列说法中正确的是:()
某建设单位和施工单位签订了某市政公用工程施工合同,合同中约定:建筑材料由建设单位提供:由于非施工单位原因造成的停工,机械补偿费为200元/台班,人工补偿费为50元/日工;总工期为120d;竣工时间提前奖励为3000元/d,误期损失赔偿费为5000元/d。经
世界语在未来有可能替代自然语言作为人们的母语或第一语言。()
各国在出生国籍上通常采用的原则有()。
以太网交换机的交换方式有3种,这3种交换方式不包括__________。(2011年上半年试题)
最新回复
(
0
)