首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:把形参S所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参S所指的字符串为:abcdefgh,执行结果为:ahcb
给定程序中,函数fun的功能是:把形参S所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参S所指的字符串为:abcdefgh,执行结果为:ahcb
admin
2015-06-08
83
问题
给定程序中,函数fun的功能是:把形参S所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参S所指的字符串为:abcdefgh,执行结果为:ahcbedgf。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
#include
void fun(char *s)
{ int i,n,k;char c;
n=0 ;
Eor(i=0; s
!=‘\0’, i++) n++;
/**********found***********/
if(n%2==0)k=n一 ___1___ ;
else k=n一2;
/**********found***********/
c=____2____;
for(i=k一2;i>=1;2=2—2)s[i+2]=
s
;
/**********found***********/
s[1]=___3___ ;
}
main()
{ char s[80]=“abodefgh”;
printE(“\nThe origina2 string
is : %s\n”,s);
fun(s);
printf(“\nThe result is:%s\n”,s);
}
选项
答案
(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/oaJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
【】是数据库应用的核心。
下面程序的输出结果是______。main(){charstr[10],c=’a’;inti=0;for(;i<5;i++)str[i]=C++;printf("%s",str);}
能正确表示逻辑关系""a≥10或a≤0""的C语言表达式是______。
若已定义:inta[10],i;,以下fun函数的功能是:在第一个循环中给前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称拆叠,变成1、2、3、4、5、5、4、3、2、1。请填空. fun(
库函数strcpy用以复制字符串,若有以下定义和语句:charstr1[]="china",str2[10],*str3,*str4="china";则对库函数strcpy的正确的调用是_______。
下面的程序片段y=-1;if(x!=0)if(x>0)y=1;elsey=0;所表示的数学函数关系是_______。
若x、y和z均是int型变量,则执行下面表达式后的x值为【】。x=(y=4)+(z=3)
有以下程序(提示,程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件末尾向前移2*sizeof(int)字节):#include<stdio.h>main(){FILE
假定下列程序的可执行文件名为filel.exe,在该程序的子目录下输入命令行:file1ChinaBejing<回车>main(intargc,char*argv[]){while(argc-->1)printf("
以下函数用来求出两整数之和,并通过形参将结果传回,请填空。voidfunc(intx,inty,【】z){*z=x+y;}
随机试题
体格检查大量腹水与巨大卵巢囊肿正确的是
腰痛之虚者治疗以( )。
房地产转让合同签订后90日内,当事人应向房地产所在地的()管理部门申报成交价格。
以下情况,不能表明发行可转换公司债券的上市公司的财务状况应当良好的是()。
某技术改造项目有四个互斥方案,其投资额和年净收益额如下表所示。若采用投资回收期法,标准投资回收期Tn=6年,则最佳方案应为()。
在我国,课程的文本具体表现为课程计划、______、教科书。
从学习者的角度出发,将课程与学习者个人经验相结合,强调学习者作为学习的主体,这种课程观是将课程作为()来理解。
下列对世界银行的论述不正确的是()。
若有定义:doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是( )
Hebrakedhardand______avoidedaparkedvan.
最新回复
(
0
)