首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的
admin
2021-04-28
24
问题
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:A*BC*DEF*G。
注意:部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h>
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--;
whil e(*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;cha r 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<len-h-e){ a[j]=a[h+j]; j++; } a[j]=0;
解析
(1)主函数中,首先统计字符串长度、前导和尾部“*”号的数量,把这些参数传给函数fun。
(2)根据字符串长度,前导以及尾部“*”号统计的数目,确定执行字符移动的起始位置。
(3)在循环中依次执行字符的移动。
转载请注明原文地址:https://kaotiyun.com/show/dPtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、P、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针指向链表的第一个结点。若有以下程序段:q=s;s=s->next;p=s;while(p->nex
下面描述中不属于软件需求分析阶段任务的是()。
软件(程序)调试的任务是()。
设栈的顺序存储空间为S(1:m),初始状态为top=m+1。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为
C语言中double类型数据占字节数为
若有以下程序#includemain(){ints=0,n;for(n=0;n<4;n++){switch(n){default:s+=4;case1:s+=1;break;case2:s+=2;break;case3:s+=3;}}
在面向对象方法中,实现信息隐蔽是依靠
在关系数据库中,用来表示实体间联系的是
下列结构中属于线性结构链式存储的是
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。注意:部分源程序在文件PROGl.C文件中
随机试题
下列不是通过加强主动流出系统外排产生耐药性的是
某病人因车祸造成多发性骨折,多脏器破裂,如果不及时手术,就会危及病人生命。然而,同行的伙伴谁也不敢代替家属签名。这时,主刀医生站出来,说:"我签,有责任我负!"经过医务人员的全力抢救,病人终于脱离危险。医生最符合医学道德的做法是
9月10日,白糖现货价格为4300元/吨,某糖厂决定利用白糖期货对其生产的白糖进行套期保值。当天以4350元/吨的价格在11月份白糖期货合约上建仓。10月10日,白糖现货价格跌至3800元/吨,期货价格跌至3750元/吨,该糖厂将白糖现货售出,并将
进行局部财产清查时,正确的做法有()。
“一个人总是在考试前闹别扭、抱怨世界,其他时候却很愉快,我们就会把他闹别扭和考试连在一起,把闹别扭归于考试而非人格。”这是心理归因的()。
秦始皇“焚书坑儒”,汉武帝“独尊儒术”主要取决于()。
已知a≠b≠c则代数式m+n+(a+b+c)2的值为().
改正下列错别字蛛丝蚂迹(北京语言大学2015)
下列关于SQL对表的定义的说法中,不正确的选项是()。
ThewarforindependencefromBritainwasalongandeconomicalcostlyconflict.TheNewEnglandfishingindustrywas【B1】______d
最新回复
(
0
)