首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:除了字符串前导和尾部的*号外,将串中其他的*号全部删除。形参h已指向字符串中第—个字母,形参p指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,若字符串中的
规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:除了字符串前导和尾部的*号外,将串中其他的*号全部删除。形参h已指向字符串中第—个字母,形参p指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,若字符串中的
admin
2018-03-28
49
问题
规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:除了字符串前导和尾部的*号外,将串中其他的*号全部删除。形参h已指向字符串中第—个字母,形参p指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。
例如,若字符串中的内容为“****A*BC*DEF*G********”,删除后,字符串中的内容应当是 “****BCDIgFG********”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#include<string.h>
void fun(char*a,Chr*h,Char*p)
{
}
main()
{
char s[81],*t,*f;
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);
}
选项
答案
void fun(char* a,char *h,char *p) { int i=0; char *q=a; /*将前导*号保存到a中*/ while(q<h) { a[i]=*q;q++;i++; } /*继续遍历数组*/ while(q<p){ if(*q!=’*’) { /*如果不是*保存到a中*/ a[i]=*q;i++; } q++; } /*将末尾*号保存到a中*/ while(*q) { a[i]=*q;i++;q++; } a[i]=’\0’; }
解析
本题的重点是要选择好判断条件,首先是需要判断前导*号的结束,然后判断是否指向最后一个字母,最后补充尾部*号,只要思路对了即可正确解答。
转载请注明原文地址:https://www.kaotiyun.com/show/Hxxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是()。#include<stdio.h>main(){intx;scanf("%d",&x);if(x++>2)printf("%d",x);
先用以下语句定义字符型变量:charc;然后要将字符a赋给变量c,则下列语句中正确的是()
以下选项中可作为C语言合法整数的是()。
以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是( )
以下程序的输出结果是()#include<stdio.h>main(){inta,b,d=241;a=d/100%9b=(-1)&&(+1);printf("%d,%d,a,d");}
有以下程序:#include<stdio.h>prt(int*m,intn)inti;for(i=0;i<n;i++)m[i]++;main()}inta[]={1,2,3,4,5},i;p
若已包括头文件<string.h>且已有定义chars1[18],s2={"ABCDE"}和inti,现要将字符串"ABCDE"赋给s1,下列语句错误的是()
已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。下列不能将变量c中的大写字母转换为对应小写字母的语句是()。
下列叙述中正确的是()。
以下四个选项中,不能看作一条语句的是()。
随机试题
重力式除锈机主要由()、刷架机构、空心轴、轴承及电动机组成。
电影艺术:《城南旧事》
浸出制剂的特点是
相对恒牙而言,乳牙髓腔的特点是()
职业资格制度是对专业技术人员的()管理,是专业技术职务聘任制度的延伸和发展。
施工配合比设计阶段,根据实测砂石()进行配合比调整,提出施工配合比。
影响债券到期收益率的因素是()。
诗句“岱宗夫如何?齐鲁青未了”描述的是我国的()。
A、 B、 C、 D、 B第一组图形中左边的三角形位置不变,右边的三角形依次向下移动得到后面的图形;第二组图形中左边的三角形位置不变.右边的三角形依次向左移动得到后面的图形,由此选择B。
旅游线路
最新回复
(
0
)