首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串
admin
2013-04-02
55
问题
假定输入的字符串中只包含字母和*号。请编写函数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://kaotiyun.com/show/uJJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序: struct STU {char name[10];int num;float TotalScore;}; void f(struct STU *p) {struct STU s[2]={{"SunDan",2004
有以下程序: #define f(x)(x*x) main() { int i1,i2; il=f(8)/f(4); i2=f(4+4)/f(2+2); printf("%d,%d\n",i1,i2);
当运行以下程序时,输入abcd,程序的输出结果是:[]。insert(charstr[]){inti;i=strlen(str);while(i>0)
有以下程序 main() { char *p[]={"3697","2548"}; int i,j; long num=0; for(i=0;i<2;i++) {j=
有以下程序段 struct st {int x;int *y;}*pt; int a[]={1,2},b[]={3,4}; struct st c[2]={10,a,20,b};
在深度为7的满二叉树中,叶子结点的个数为______。
以下程序中,函数fun的功能是计算x2(上标)-2x+6,主函数中将调用fun函数计算:y1=(x+8)2(上标)-2(x+8)+6y2=sin2(上标)(x)-2sin(x)+6请填空。
下列定义变量的语句中错误的是______。
以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。main(){intx[10],a[9],i;for(i=0;i<10;i++)scanf("%d",&x[i]);for(【
设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是
随机试题
破伤风抗毒血清皮试液的配制方法正确的是
金世纪公司与锦绣服装厂订立的合同属于()。40套工作服质量不合格的责任应由()。
下列各项中,不属于发包人应当承担的赔偿损失的是()
一个完整的计算机系统由()组成。
中国证监会在受理金融期货结算业务资格申请之日起( )个月内,作出批准或者不批准的决定。
公司督察长应当由董事长提名、董事会聘任,报国务院核准。()
按照牵头行对贷款最终安排额所承担的责任,银团牵头行分销银团贷款可以分为全额包销、余额包销。()
经济全球化可以具体划分()。
《流浪地球》以超过22亿的票房成为春节电影票房冠军。然而,在小说原著中,电影讲述的故事只是地球路过木星时的几小段文字而已。这样一部小说,也给了“中国科幻”一个宏阔的背景。人类带着地球在宇宙流浪,距离将以4.3光年为计、时间将以2500年为计,其
Onelunchtime,MayWardwasgoingroundthelocalsupermarketinParksideRoad,Liverpool,doinghershopping,whenshesuddenly
最新回复
(
0
)