首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的
admin
2021-04-28
54
问题
假定输入的字符串中只包含字母和*号。请编写函数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全国计算机二级
相关试题推荐
有以下程序#include<stdio.h>main(){intid,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf("%d\n",m);}程序的运行结果是
有以下程序:#include<stdio.h>intb=2;intfun(int*k){b=*k+b;return(b);}main(){inta[10]={1,2,3,4,5,6,7,8},i;for(i=2;i<4;i++){b=f
有以下程序:#includemain(){FILE*fp;inti,aE6]={1,2,3,4,5,6};fp=fopen(“d2.dat”,“W+”);for(i=0;i
以下叙述中正确的是
有如下程序#includemain(){char*p1=0;int*p2=0;double*p3=0;printf("%d,%d,%d\n",sizeof(p1),sizeof(p2),sizeof(p3));
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是
有以下计算公式若程序前面已经在命令行中包含math.h文件,不能够正确计算上述公式的程序段是
在面向对象方法中,实现信息隐蔽是依靠
有以下程序段intn,t=1,s=0;scanf("%d",&n);do{s=s++;t=t-2;}while(t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是
一个教师讲授多门课程,一门课程由多个教师讲授。则实体教师和课程间的联系是
随机试题
H公司是一家物业管理公司,作为一家年轻的物业管理公司,公司成立以来业务发展迅速,现已管理八个小区,介入咨询和接管物业的总建筑面积达110余万平方米,已经发展成为我国深圳市一流的物业管理服务企业。由于当前物业管理相关的法律法规并不健全,已颁布的法律
下列组织不能用乙醇固定的是
下列关于调查设计的叙述,正确的是
依据《工程监理企业资质管理规定》甲级工程监理企业的企业负责人和技术负责人应当具备的条件是( )。
在下列情形中,注册机关依据职权或根据利害关系人的请求,可以撤销注册建造师注册的有()。
某项目固定资产投资是3850万元,流动资金为462万元,铺底流动资金为139万元,投产后正常生产年份的利润总额为578万元,销售税金及附加为200万元,借款利息为100万元,则正常生产年份的总投资收益率为()。
根据监管部门要求,国内银行可分为()。
一碗妈妈做的炸酱面,是挥之不去的儿时记忆;一碗豆花,融溢着对外婆的深深思念;一碗羊肉泡馍,沉淀着浓浓的乡愁……食物温暖了胃,也温暖了心;味蕾会恋上食物,心会记起那个人。这说明()。
【义净】
提出“先定论”宗教改革思想的人是()。
最新回复
(
0
)