首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
56
问题
请编写函数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全国计算机二级
相关试题推荐
C语言主要是借助以下()功能来实现程序模块化的。
如图所示:带有头结点的单向链表head,其三个数据结点A、B、C的连接关系见图。结点类型的定义为:struetlink{doubledt;struetlink*next;}.{若指针P指向
有以下程序:#includemain(){inty=9;for(;y>0;y一一)if(y%3==0)printf(“%d”,一一y);}程序运行后的输出结果是()。
以下不能输出字符A的语句是()。(注:字符A的ASCII码值为65,字符a的ASCII码值为97)
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组S中,请编写函数fun,它的功能是:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。注意:部分源程序在文件PROGl.C中
设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。下列所示的输入形式中正确的是(注:口代表空格字符)()。
给定程序MODI1.C中函数fun的功能是:从n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。例如,若输入8名学生的成绩:80.5607290.59851.588
设y为整型变量,a=6,am地址为E2000,b=14,b的地址为E2001;执行语句b=&a;y=&a;后y的值为()。
定义如下变量和数组:inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()。for(i=0;i
在软件设计中不使用的工具是()。
随机试题
泰罗的科学管理理论出现在()。
临床最为常见的疟疾是
下对传染病人控制措施正确的是
关于外国法律制度,下列哪些选项是正确的?(2010年试卷一第59题)
隐蔽工程:
现代银行的作用,主要表现在以下()方面。
建设用地规划许可证是建设单位在向土地管理部门申请征用、划拨土地前,经城市规划行政主管部门确认()符合城市规划的法定凭证。
跳绳
在期权有效期内基础资产产生收益的将使()
ThespeakercomparestheEarthtoaspaceshipbecause______.
最新回复
(
0
)