首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串
admin
2013-04-02
92
问题
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:****A*BC*DEF*G**********,删除后,字符串中的内容应当是:****ABCDEFG********。在编写函数时,不得使用c语言提供的字符串函数。
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
void fun(char *a, char *h,char *p)
{
}
main()
{char s[81],*t, *f;
void NONO ();
printf("Enter a string:\n");gets(s);
t=f=s;
while(*t)t++;
t--;
while(*t==’*’)t--;
while(*f==’*’)f++;
fun(s , f,t);
printf("The string after deleted:\n");puts(s);
NONO();
}
void NONO()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *in, *out ;
int i ; char s[81], *t, *f ;
in = fopen("in.dat","r");
out = fopen("out.dat","w");
for(i = 0 ; i < 10 ; i++) {
fscanf(in, "%s", s);
t=f=s;
while(*t)t++;
t--;
while(*t==’*’)t--;
while(*f==’*’)f++;
fun(s, f, t);
fprintf(out, "%s\n", s) ;
}
fclose(in);
fclose(out);
}
选项
答案
{ int j=0; char *q=a; while(*q&&q
解析
(1)首先,设置一个指针变量q指向字符串的头位置,并使用循环,将从字符串头开始到第一个字母的“*”拷贝到字符串a。
(2)然后对第一个字母到最后一个字母之间的字符进行循环判断是否为“*”,如果是则跳过,否则拷贝到字符串a。
(3)最后,将最后一个字母到串尾的“*”拷贝到a,然后在新生成的字符串尾加’\0’。
转载请注明原文地址:https://www.kaotiyun.com/show/uJJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
已有定义double *p;,请写出完整的语句,利用malloc函数使p指向一个双精度型的动态存储单元【 】。
有以下程序段: int n,t=1,S=0; scanf("%d",&n); do{s=s+t;t=t-2;}while(t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是 ______。
当运行以下程序时,输入abcd,程序的输出结果是:[]。insert(charstr[]){inti;i=strlen(str);while(i>0)
有以下程序段 struct st {int x;int *y;}*pt; int a[]={1,2},b[]={3,4}; struct st c[2]={10,a,20,b};
若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是______。
已定义以下函数 int fun(int *p) {return *p;} fun函数返回值是______。
下面程序的功能是建立一个有3个结点的单循环链表,然后求各个结点数值域data中数据的和,请填空。#include<stdio.h>#include<stdlib.h>struc
以下程序的功能是:将输入的正整数按逆序输出。例如:若输入135则输出531。请填空。#include<stdio.h>main(){intn,s;printf("Ente
下列定义变量的语句中错误的是______。
在结构化分析使用的数据流图(DFD)中,利用【】对其中的图形元素进行确切解释。
随机试题
Youshould(check)theairinthe(tires)(as)you(starton)alongautomobiletrip.
Croohn病从口腔至肛门各段消化道均可受累,呈
男性,65岁,反复咳嗽、咳痰20年,1周前受凉后畏寒、发热、咳脓痰、气急。体检:体温37.5℃,呼吸急促,双肺呼吸音减弱,有较多湿哕音,下肢轻度水肿。最主要的治疗措施是
滞后指标是指那些滞后于经济活动变化的经济指标。下列指标属于滞后指标的是( )。
某商业企业拥有的下列资产中,不得计提折旧在企业所得税前扣除的是()。
本题涉及劳动合同法律制度。甲公司从事建筑工程作业,其在外地设有一处分公司,并且已取得营业执照;2011年7月1日,因新项目建设需要,分公司决定新招一批建筑工人。随后分公司在当地招聘了包括小王和小李在内的10名工人,8月1日开始工作。乙公司与应聘个人口头约定
为了调查当前人们的识字水平,其实验者列举了20个词语,请30位文化人士识读,这些人的文化程度都在大专以上。识读结果显示,多数人只读对3到5个词语,极少数人读对15个以上,甚至有人全部读错。其中,“蹒跚”的辨识率最高,30人中有19人读对;“呱呱坠地”所有人
“个体或群体重复获得相同奖赏的次数越多,则该奖赏对个体的价值越小”,这是霍曼斯社会交换论的()。
赵、钱、孙、李四人的血型各不相同,即他们的血型各是A,B,O,AB四种血型中的一种。赵说:“我是A型。”钱说:“我是O型。”孙说:“我是AB型。”李说:“我不是AB型。”结果发现,四个人的话中,只有一个人的话是假的。根据上述情况,以下哪项成立?
Howdomostpeoplegettheirnewsinyourcountry?
最新回复
(
0
)