首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参S所指的字符串为:abcdefgh,执行结果为:ahcb
给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参S所指的字符串为:abcdefgh,执行结果为:ahcb
admin
2019-09-02
52
问题
给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参S所指的字符串为:abcdefgh,执行结果为:ahcbedgf。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
void fun(char*s)
{int i,n,k;char c;
n=0;
for(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;i=i-2)s[i+2]=s
;
/**********found**********/
s[1]=___3___;
}
main()
{char s[80]="abcdefgh";
printf("\nThe original 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/8ORp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
请编写函数fun,它的功能是:求出1到1000之间能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内
请编写函数fun,函数的功能是:移动一维数组中的内容:若数组中有n个整数,要求把下标从0到P(含P,P小于等于n-1)的数组元素平移到数组的最后。例如,一维数组中的原始内容为:1,2,3,4,5,6,7,8,9,10:p的值为3。移动后,一维数组
以下叙述中正确的是
以下选项中关于C语言常量的叙述错误的是
以下选项中,能用作用户标识符的是
有下列程序:voidf(int*q){inti=0;for(;i<5;i++)(*q)++;}main(){inta[5]={1,2,3,4,5},i;f(a);for(i=0;i
若有以下程序,则程序的输出结果是#includemain(){charc1,c2;c1=’C’+’8’-’3’;c2=’9’-’0’;printf("%c%d\n”,c1,c2);}
若以下选项中变量全部为整型变量,且己正确定义并赋值,则语法正确的switch语句是
下面不属于软件设计阶段任务的是
随机试题
感性认识的三种形式是()。
他习惯于晚睡晚起。
女,57岁,左鼻翼发现皮肤病损18个月。面积逐渐增大,反复出现破溃,就诊时检查:病损位于左鼻翼,约1cm×1cm,略高出皮肤,中央表浅溃疡,由表层黑褐色痂皮覆盖,腮腺区和颌下未及肿大淋巴结。最可能的诊断是
以下有关地西泮的说法不正确的是
A.呋塞米B.地高辛C.硝酸甘油D.扎莫特罗E.卡托普利
最常见的个人贷款营销渠道不包括()。
下列说法中,正确的是()。
[A]ThecontrolofthemixtureissoperfectthatwhereveryougointheworldwhereKFCissold,theendresultisexactlythe
设窗体名称为frmTest,为了在程序代码中将窗体的标题改为"等级考试",其代码应该是
BlackmarketforGunintheUSAsAmericansdigestthenewsofanothergunatrocity,amallshootinginNebraskaonDecember
最新回复
(
0
)