首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
50
问题
请编写函数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****”
下列给定程序中,函数fun的功能是:根据以下公式求π值,并作为函数值返回。例如,当给指定精度的变量eps输入0.0005时,应输出Pi=3.140578。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更
阅读以下程序#include<stdio.h>main(){IntCase;floatprintF;printf(’’请输入2个数:’’);scanf(’’%d%f’’,&Case,&printF);printf(’’%d%f\n”,C
设有如下定义:structsk{intm;floatx;}data,*q;若要使q指向data中的m域,正确的赋值语句是()。
以下关于return语句的叙述中正确的是()。
在数据库系统的组织结构中,下列()映射把用户数据库与概念数据库联系了起来。
一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是()。
数据库系统的核心是()。
以下选项中非法的字符常量是
若已建立以下链表结构,指针p、s分别指向如图所示结点则不能将s所指节点插入到链表末尾的语句组是
随机试题
变压器油泄漏会污染土地。()
患者男,60岁。腹部阵发性腹痛伴腹胀,停止排气排便2天。既往有类似发作,但较轻。查体:P100次/分,BP110/70mmHg,腹肌紧张,压痛明显,反跳痛阳性,移动性浊音阳性。最可能的诊断是
适用缓刑的对象必须是被判处拘役或者()年以下有期徒刑的犯罪分子。
简述数罪并罚的原则。
某工程,监理公司承担施工阶段监理任务,建设单位采用公开招标方式选择承包单位。在招标文件中对省内与省外投标人提出了不同的资格要求,并规定2015年10月30日为投标截止时间。甲、乙等多家承包单位参加投标,乙承包单位11月5日方提交投标保证金,11月3日由招标
下列不属于物业资产管理的是()。
登记机关有权注销房屋权属证书的情况有()。
商务应酬是一个合作的过程,每人都在__________说服对方,从而为自己争取最大化的利益。在这场利益的争夺战中,谁能“出奇”,运用__________的应酬方法,谁就能“制胜”,成为笑到最后的王者。填入划横线部分最恰当的一项是:
A、 B、 C、 A
FewofthegoldseekerswhoflockedtoCaliforniawereexperiencedminers,______thattheyhadtobe.
最新回复
(
0
)