首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。 例如,字符串中的内容为:****A*BC*DEF*G*
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。 例如,字符串中的内容为:****A*BC*DEF*G*
admin
2015-12-22
83
问题
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。
例如,字符串中的内容为:****A*BC*DEF*G*******,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为7,则字符串中的内容仍为:****A*BC*DEF*G*******。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数min和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
void fun(char *a,int n)
{
}
main()
{ char s[81];int n;
void NONO();
printf("Enter a string:\n");
gets(s);
printf("Enter rl:");scanf("%d",
&n);
fun(s,n);
printf("The string after deleted:
\n"。);puts(s);
NONO(),
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE *in,*out;
int i,n;char s[81];
in=fopen("in.dat","r");
out=fopen("out.dat","w");
for(i=0;i<10;i++) {
fscanf(in,"%s",s);
fscanf(in,"%d",&n);
fun(s,n);
fprintf(out,"%sin",s);
}
fclose(in);
fclose(out);
}
选项
答案
int i=0,j=0; char *p,*t; p:t=a; while(*t) //让指针t指向串尾 t++; t--; //t指向串中的最后一个字符while(*t=:’*’) //当t指针当前指向的字符是“*”,号时 { j++; //对“*”号计数的累加器加1 t--; //指向前一个字符 } t++; //跳出“*”号统计后,指针t继续指向字符串的下一个字符 if(j>n) //对统计的“*”号数目大于给定的“*”号总数n { while(*p&&p
解析
解题过程首先确定字符串尾,然后由串尾开始对字符进行判断,同时对.“*”字符进行统计,如果大于n,就进行截取。
(1)首先确定字符串的尾,然后判断“*”号字符,并对字符串中的字符进行判断,如果字符是符号“*”则对“*”,号进行统计。
(2)根据统计的“*”号数目结合题目中对“*”号个数的要求,判断是执行对“*”号的截取操作,还是什么都不用做。
(3)所有字符处理完后,记得在新串s的末尾加上结束符“’\0’”。
转载请注明原文地址:https://kaotiyun.com/show/lXDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序执行后的输出结果是voidfunc(int*a,intb[]){b[0]=*a+6;}main(){inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0])
数据库设计包括两个方面的设计内容,它们是
栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是
下列循环体的执行次数是()。#include<stdio.h>main(){inti,j;for(i=0,j=1;i<j+1;i+=1,j--)printf("%d\n",j);}
队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作______。
若希望下列的程序运行后输出25,程序空白处的正确选项是()。main(){inti,j=50,a[]={7,4,10,5,8};for()j+=a[i];printf("%d",j-40);
下列叙述错误的是()
简单的交换排序方法是()。
已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填______。struct1ink{chardata;}node;
数据库设计的四个阶段是:需求分析,概念设计,逻辑设计和_______。
随机试题
下列情况中,发价不得撤销的是()
阅读余光中《听听那冷雨》中的文字,然后回答问题。雨不但可嗅,可观,更可以听。听听那冷雨。听雨,只要不是石破天惊的台风暴雨,在听觉上总是一种美感。大陆上的秋天,无论是疏雨滴梧桐,或是骤雨打荷叶,听去总有一点凄凉,凄清,凄楚。于今在岛上回味,则在凄楚
烟雾病是颅内哪部分血管的病变引起的
中药材气调养护,充N2降氧防虫的氧气浓度控制在气调养护,以杀虫为目的,其C02浓度应控制在
脾虚下陷的主要症状有
地下连续墙混凝土浇灌应满足以下要求()。[2014年真题]
MIPS作为单位,是用来衡量计算机系统的()性能指标。
某研究机构对于本地区的劳动力市场状况进行了研究,结果发现以下几种情况:第一,本地区的大部分企业都是劳动密集型企业,同时企业所生产的产品的需求价格弹性也比较大;第二,本地区男性劳动力和女性劳动力之间的交叉工资弹性较高,而且为负值;第三,本地区目前处于一种劳动
下列对洋务运动的指导思想的表述正确的是
PapermakinginChina________fromtheretoNorthAfricaandEurope.
最新回复
(
0
)