首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,其功能:编写函数fun(char *s0,char *s1,char *s2,char *s3),要求实现——将s0所指字符串分解成3个字符串,分别存入s1、s2、s3所指内存中。分解的方法是,s1、s2、s3从s0中依次按顺序每隔3个字
请编写函数fun,其功能:编写函数fun(char *s0,char *s1,char *s2,char *s3),要求实现——将s0所指字符串分解成3个字符串,分别存入s1、s2、s3所指内存中。分解的方法是,s1、s2、s3从s0中依次按顺序每隔3个字
admin
2022-10-25
37
问题
请编写函数fun,其功能:编写函数fun(char *s0,char *s1,char *s2,char *s3),要求实现——将s0所指字符串分解成3个字符串,分别存入s1、s2、s3所指内存中。分解的方法是,s1、s2、s3从s0中依次按顺序每隔3个字符取1个。
例如:s0为”abcdefghij”时,分解完成后,s1、s2、s3分别为”adgj””beh””cfi”。
注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
#include<string.h>
void fun(char *s0,char *s1,char *s2,char *s3)
{
}
void main()
{
void NONO();
char s0[100],s1[40],s2140],s3[40];
printf(”请输入一行字符串\n”);
gets(s0);
fun(s0,s1,s2,s3);
puts(s1);
puts(s2);
puts(s3);
NONO();
}
void NONO()
{
FILE *fp=fopen(”out.dat”,”w”);
char s0[10][100]={”1234567890qazwsx”,”abcdefghij”,”0987654321plmokn”,”fsdjfsdlrj564342dsf”,”gfdklgjdsfl4754398”,”zxcvbnmasdfg”,”asdfghjkl123”,”qwertyuiop456”,”qweasdzxc789”,”poiuytrewqwsxqaz”};
char s1[40],s2[40],s3[40];
int i;
for(i=0;i<10;i++)
{
fun(s0
,s1,s2,s3);
fprintf(fp,”s1=%s,s2=%s,s3=%s\n”,s1,s2,s3);
}
fclose(fp);
}
选项
答案
{ char *p1=s0,*p2=s0+1,*p3:s0+2; int len=strlen(s0),i=0,j=0,k=0; while(p1<s0+len||p2<s0+len||p3<s0+len) { if(p1<s0+len) { s1[i++]=*p1; p1=p1+3; } if(p2<s0+len) { s2[j++]=*p2; p2=p2+3; } if(p3<s0+len) { s3[k++]=*p3; p3=p3+3; } } s1[i]=’\0’; s2[j]=’\0’; s3[k]=’\0’;
解析
分别定义字符指针p1,p2,p3,p1指向字符串s0的第1个字符,p2指向字符串曲的第2个字符,p3指向字符串s0的第3个字符。在while循环内,循环条件为指针p1,p2,p3指向字符串末尾,循环结束。循环内分别将指针p1,p2,p3指向的字符存放到对应的数组中,再将指针移动3个位置。最后将数组s1,s2,s3的最后一个字符赋值字符串结束标志。
转载请注明原文地址:https://kaotiyun.com/show/vRkp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的前导木号不得多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做处理。字符串中间和尾部的*号不删除。例如,字符串中的内容为“*******A*BC*DEF*G****”
有以下程序:#include<stdio.h>#defineN4voidfun(inta[][N],intb[]){inti;for(i=0;i<N;i++)b[i]=a[i][i]-a[i][N-1-i];}main(){int
如图所示:带有头结点的单向链表head,其三个数据结点A、B、C的连接关系见图。结点类型的定义为:struetlink{doubledt;struetlink*next;}.{若指针P指向
下列给定程序的功能是调用fun函数建立班级通信录。通信录中记录每位学生的编号、姓名和电话号码。班级人数和学生信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。请在程序的下画线处填入正确的内容并将下画线删除,使程序得出
有如下程序#include<stdio.h>main(){inti,array[5]={3,5,10,4};for(i=0;i<5;i++)printf("%d,",array[i]&
有三个关系R、S和T如下:其中关系T由关系R和S通过某种操作得到,该操作为()。
若有定义:floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是()。
以下叙述中错误的是( )。
检查软件产品是否符合需求定义的过程称为()。
给定程序modi1.c的主函数中,将a、b、c三个结点链成一个单向链表,并给各结点的数据域赋值,函数fun()的作用是:累加链表结点数据域中的数据作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动ma
随机试题
简述应当逮捕犯罪嫌疑人意见书正文的内容。
消化性溃疡合并上消化道出血时的首选检查是
A.洗肉水样腹泻,伴发热,腹痛,无里急后重B.腹泻,黏液脓血样便,伴发热,腹痛,里急后重C.腹泻,大便呈果酱状,伴低热,腹痛,无里急后重D.腹泻,米泔样大便,无发热,无腹痛及里急后重E.发热,脐周痛,腹泻,大便呈水样,有少量黏液
既可治疗咳嗽、气喘,又可治疗头项疾患的穴位是
A、.清骨散B、.清营汤C、.犀角地黄D、.青蒿鳖甲汤E、.当归六黄汤功用为滋阴泻火、固表止汗的方剂是
药品采购、供应工作中的灵魂与核心是
1804年的《法国民法典》和1900年的《德国民法典》均是以罗马法为基础编纂而成的。从《法国民法典》、《德国民法典》和罗马法的本质和渊源上看,下列哪些表述是正确的?
以下属于证券交易所特征的是()
请在工作表中插入文本框。
Actingissuchanover-crowdedprofessionthattheonlyadvicethatshouldbegiventoayoungpersonthinkingofgoingonthes
最新回复
(
0
)