首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的
admin
2013-03-29
51
问题
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:****A*BC*DEF*G********,删除后,字符串中的内容应当是:A*BC*DEF*G。
注意:部分源程序在文件FROGl.C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在
函数fun的花括号中填入你编写的若干语句。
#include
void fun(char *a,int n,int h,int e)
{
}
main()
{char s[81],*t,*f;int m=0,tn=0,
fn=0;void NONO();
printf(”Enter a string:\n”);
gets(s);
t=f=s;
while(*t)(t++;m++;)
t--;
while(*t==’*’){t--;tn++;)
while(*f==’*’){f++;fn++;)
fun(s,m,fn,tn);
printf(”The string after deleted:
\n”);puts(s);
NONO();
}
void NONO()
(/*本函数用于打开文件,输入数据,调用函
数,输出数据,关闭文件。*/
FILE*in,*out;
int i;char s[81],*t,*f ;
int m=0,tn=0,fn=0;
in=fopen(”in.dat”,”r”);
out=fopen(”out.dat”,”W”);
for(i=0;i<10 ; i++){
fscanf(in,”%s”,s);
t=f=s;
m=0;tn=0;fn=0;
while(*t){t++;m++;)
t--;
while(*t==’*’){t--;tn++;}
while(*f==’*’){f++;fn++;}
fun(s,m,fn,tn);
fprintf(out,”%s\n”,s);
}
fclose(in);
fclose(out);
}
选项
答案
char*p=a; int j=0,len=0; while(*p){p++; len++;} while(j
解析
(1)主函数中,首先统计字符串长度、前导和尾部"*"号的数量,把这些参数传给函数fun。
(2)根据字符串长度,前导以及尾部"*"号统计的数目,确定执行字符移动的起始位置。
(3)在循环中依次执行字符的移动。
转载请注明原文地址:https://kaotiyun.com/show/yPJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序的功能是输出数组s中最大元素的下标,请填空。main(){intk,p,s[]={1,-9,7,2,-10,3};for(p=0,k=p;p<6;p++)if(s[p]>s[k])【】
以下与函数fseek(fp,0L,SEEk_SET)有相同作用的是
设有一共用体变量定义如下:uniondata{longw;floatx;inty;charz;};uniondatabeta;执行下列语句后,正确的共用体变量beta的
以下程序的输出结果为()。#include<stdio.h>main(){char*alpha[6]={"ABCDEFGH","IJKL","MNOP","QRST","UVWX"};char**p;inti;
运行下面的程序,其输出结果为______。main(){printf("%d,%d",5%-3,-5%3);}
下面关于完全二叉树的叙述中,错误的是______。
数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是【 】。
有以下程序,其中函数f的功能是将多个字符串按字典顺序排序: #include<string.h> void f(char *p[],int n) {char *t;int i,j; for(i=O;i<n-1;i++)
以下关于函数的叙述中正确的是 ______。
随机试题
局部外用治疗皮肤黏膜浅表感染:对淋球菌具有高度抗菌活性:
患者女,82岁。腰背部疼痛半年前来就诊,体检:脾肋下3cm,肝肋下2cm,多个腰椎骨压痛明显。实验室检查:血红蛋白85g/L,白细胞4.6×109/L,血小板110×109/L,血沉120mm/h,尿蛋白定性(一),24小时尿蛋白定量5g。尿素氮15mmo
()就是对跨省区地域的规划,是国家级发展规划的具体化,是国家级发展规划总系统中的子系统。
下列关于工程进度横道图的说法,正确的是()。
关于完全垄断市场,下列说法正确的有()。Ⅰ.完全垄断使稀缺资源得不到良好的配置,存在资源的浪费Ⅱ.在短期,如果产品的需求者能接受垄断厂商制定的大于平均成本AC的价格,那么该厂商能获得超额利润Ⅲ.在短期,如果产品价格低于
西湖按面积大小划分不包括()。
幼儿园教育目标制定的依据有()
已知矩阵(Ⅰ)求可逆矩阵P,使(AP)T(AP)为对角矩阵;(Ⅱ)若A+kP正定,求k的取值.
设三阶矩阵A的特征值为λ2=一1,λ2=0,λ3=1,则下列结论不正确的是().
如果IP地址为202.130.1933,屏蔽码为255.255.255.0,那么网络地址是______。
最新回复
(
0
)