早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->计算机三级 -->

下列程序的功能是;把s字符串中所有的字符左移一个位置,串中的第一个字符移到最后。请编制函数chg(

题目

下列程序的功能是;把s字符串中所有的字符左移一个位置,串中的第一个字符移到最后。请编制函数chg(char*s)实现程序要求,最后调用函数readwriteDat()把结果输出到out63.dat文件中。

例如;s字符串中原有内容为Mn,123xyZ,则调用该函数后,结果为n,123xyZM。

注意:部分源程序已给出。

请勿改动主函数main()和输入输出函数readwriteDAT()的内容。

试题程序:

include<conio.h>

include<stdio.h>

define N 81

void readwriteDAT();

void chg(char *s)

{

}

main ( )

{

char a [N];

clrscr ( );

printf("Enter a string :");

gets (a);

printf("The original string is :");

puts (a);

chg (a);

printf("The string after modified :");

puts (a);

readwriteDAT ( )

}

void readwriteDAT ()

{

int i;

char a [N];

unsigned char *p;

FILE *rf,*wf;

rf=fopen("in63.dat","r");

wf=fopen("out63.dat","w");

for(i=0;i<10;i++)

{

fgets(a,80,rf);

p=strchr(a,'\n');

if(p) *p=0;

chg(a);

fprintf(wf,"%s\n",a);

}

fclose(rf);

fclose(wf);

}

参考答案
正确答案:void chg(char*s) { int istrl; char ch; strl=strlen(s); /*求字符串的长度*/ ch=*s; /*将第一个字符暂赋给ch*/ for(i=0;istrt-1/i++) /*将字符依次左移*/ *(s+i)=*(S+i+1); *(s+strl-1)=ch; /*将第一个字符移到最后*/ }
void chg(char*s) { int i,strl; char ch; strl=strlen(s); /*求字符串的长度*/ ch=*s; /*将第一个字符暂赋给ch*/ for(i=0;istrt-1/i++) /*将字符依次左移*/ *(s+i)=*(S+i+1); *(s+strl-1)=ch; /*将第一个字符移到最后*/ } 解析:本题考查的知识点如下:
(1)数组中元素的移动。
(2)指针的使用。
我们可以使用一个循环实现数组中所有字符元素的左移。这里要注意的是第1个字符要移至最后1个字符处,所以首先要将第1个字符保存。在移动时,要从左到右依次移动,否则,左侧的字符会在移动前被其右侧的字符覆盖。在这里使用了指针,初始时,指针指向数组的第1个元素,随着地址的增加指针指向数组后面的元素。例如,若地址加2,则指向数组的第3个元素。
看了下列程序的功能是;把s字符串中...的网友还看了以下:

一条水平放置的水管,横截面积s=2cm²,距地面高h=1.8m.水从管口以不变的速度源源不断地沿水 物理 2020-04-05 …

克服摩擦力做的功是指摩擦力×走过的位移么?如果两个物体一同运动且速度不同上方物体克服摩擦力走的位移 物理 2020-05-16 …

一辆汽车重1.0×104N,现要测量车的重心位置,让车的前轮压在水平地秤(一种弹簧秤)上,测得压力 物理 2020-05-17 …

两物体在不同高度自由下落,同时落地,甲物体下落时间为2s,乙物体下落时间为1s求:1甲.乙两物体离 物理 2020-05-20 …

水电平面图纸中,开关到灯的距离是指灯到开关的水平面距离吗?也就是说图纸上的那段距离是顶板灯的位置到 数学 2020-07-03 …

(2006•柳州)水位上升用正数表示,水位下降用负数表示,如图,水面从原来的位置到第二次变化后的位置 其他 2020-11-13 …

一个人看到闪电12.3秒后又听到雷声,已知空气中声速为330m/s至340m/s,光速为3*10^8 物理 2020-12-09 …

某部队执行任务,以每小时8千米的速度前进,通信员在队伍正中间接到任务后,以每小时12千米的速度把命令 数学 2020-12-10 …

某部队执行任务,以每小时8千米的速度前进,通信员在队伍中间接到任务后,以每小时12千米的速度把命令传 数学 2020-12-17 …

在自由落体运动中的a等于g还是-g自由落体运动的加速度a在各个资料上的相等数不同,有的是g有的是-g 其他 2021-01-22 …