首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的
admin
2013-03-29
57
问题
假定输入的字符串中只包含字母和*号。请编写函数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全国计算机二级
相关试题推荐
本程序用改进冒泡法对数组a[n]的元素从小到大排序,请在程序空白处填空。voidbubble(inta[],intn){intj,k,jmax,temp;jmax=【】;do{
数据库保护分为:安全性控制、【】、并发性控制和数据的恢复。
以下程序的输出结果为()。#include<stdio.h>main(){char*alpha[6]={"ABCDEFGH","IJKL","MNOP","QRST","UVWX"};char**p;inti;
以下正确的程序段是
下述程序的输出结果是()。#include<stdio.h>voidmain(){inta[5]={2,4,6,8,10};int*p=a,**q=&p;printf("%d,",*(p++
以下程序的功能是计算:s=1+12+123+1234+12345。请填空。main(){intt=0,s=0,i;for(i=1;i<=5;i++){t=i+【】;s=s+t;}printf(
有以下程序,其中函数f的功能是将多个字符串按字典顺序排序: #include<string.h> void f(char *p[],int n) {char *t;int i,j; for(i=O;i<n-1;i++)
设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句:if(a<B)if(c=D)y=0;elsey=1;该语句所表示的含义是______。
以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下:ABCDEFGHIJKLMNO
随机试题
在对管道FBE涂层补口时,采用的工艺是高压静电喷涂。
哪一种物质不是初级胆汁酸?
某企业第1年初向银行借款500万元,年利率为7%,银行规定每季度计息一次。若企业向银行所借本金与利息均在第4年末一次支付,则支付额为( )万元。
下列属于输出设备常见的有()。
借款人应当向银行如实提供所有开户行、账号及存贷款余额情况,使银行可以真实掌握借款人资金运行情况。银行通过调查、审查、检查了解借款人的生产经营情况,确保贷款的()
“如果你的两个得力下属一直吵架.你会怎么处理?”这类问题属于()。
哪一个运动员不想出现在奥运会的舞台上,并在上面尽情表演?如果以上陈述为真,以下哪项陈述必定为假?()
为了防止森林火灾,美国的森林专家想出了一个“以火防火”的好办法:要求森林管理人员定期选择风速小、气温低、温度大的天气,人为烧去乔木下面的小树、灌木、干枝和枯叶,以预防自然起火,并有助于扑灭森林大火。由此不可推出的结论是( )。
做产品的初心,一定可以归结到便利二字,因为一切新技术、能促使消费者大规模换代的新产品,大多是为了解决现实世界中_______的、不够便利的问题而生。因此,真正能做到了“简便”的产品,往往是_______的。填入画横线部分最恰当的一项是:
青藏铁路(Qinghai-TibetRailway)是西部大开发(WesternDevelopmentProgram)的标志性工程,是中国新世纪四大工程之一。该铁路东起青海西宁,西至西藏拉萨,全长1956公里。新建线路1110公里,于2001年6月2
最新回复
(
0
)