首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串
admin
2013-04-02
63
问题
假定输入的字符串中只包含字母和*号。请编写函数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全国计算机二级
相关试题推荐
有以下程序段: int n,t=1,S=0; scanf("%d",&n); do{s=s+t;t=t-2;}while(t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是 ______。
设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句:if(a<B)if(c=D)y=0;elsey=1;该语句所表示的含义是______。
以下程序中函数fun的功能是:构成—个如图所示的带头结点的单向链表,在结点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单向链表中所有结点中的字符串。请填空完成函数disp。#include<stdio
当运行以下程序时,输入abcd,程序的输出结果是:[]。insert(charstr[]){inti;i=strlen(str);while(i>0)
以下程序的输出结果是[]。main(){inta[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;for(i=0;i<3;i++)s+=-a[i][i]+a[i][3-i
在关系模型中,把数据看成是二维表,每—个二维表称为—个[]。
有以下程序 int fun(int x[],int n) { static int sum=0,i; for(i=0;i<n;i++) sum+=x[i]; return sum
有以下程序 void swap(char *x,char *y) {char t; t=*x;*x=*y;*y=t; } main() {char *s1="
“商品”与“顾客”两个实体集之间的联系一般是______。
下列程序中的函数strcpy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。#includ
随机试题
燃料电池是能量储存装置。()
A、胃B、小肠C、结肠D、直肠E、十二指肠()血管相当丰富,是栓剂的良好吸收部位。
工程咨询者是()。
下列场所中配置的建筑灭火器等级,为中危险级的是()。
张三向开发商预购商品房一套,签订合同之后,申请办理了预告登记,开发商在张三不知情的情况下将该房屋抵押给银行。下列说法正确的有()。
假如通货膨胀的初始原因是成本推动,如果没有()的伴随,将会引起严重的经济萧条。
依据我国《房地产管理法》的相关规定,下列属于房地产交易的基本制度的是()。
我国民法规定,法人应当具备下列条件()。
TheFemaleLifeExpectancyisAdvantageoustoSocialSecurityProgramOneofthegreatadvancesof20thcenturywasincrease
在Windows98环境下,下列有关磁盘存储结构和管理的叙述中,正确的是______。
最新回复
(
0
)