首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和·号。请编写函数fun,它的功能是:使字符串的前导·号不得多于n个;若多于n个,则删除多余的*号:若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。 例如,字符串中的内容为:*********A*BC*DE
假定输入的字符串中只包含字母和·号。请编写函数fun,它的功能是:使字符串的前导·号不得多于n个;若多于n个,则删除多余的*号:若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。 例如,字符串中的内容为:*********A*BC*DE
admin
2013-03-29
35
问题
假定输入的字符串中只包含字母和·号。请编写函数fun,它的功能是:使字符串的前导·号不得多于n个;若多于n个,则删除多余的*号:若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。
例如,字符串中的内容为:*********A*BC*DEF*G****,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为8,则字符串中的内容仍为********A*BC*DEF*G****。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。
注意:部分源程序在文件PROGl.C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数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 n:");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,"%s\n",s);
}
fclose(in);
fclose(out);
}
选项
答案
int i=0,k=0; char*t=a; while(*t==’*’) { k++; t++; } t=a ; if(k>n) t=a+k—n ; while(*t) { a[i]=*t; i++; t++; } a[i]=’\0’;
解析
(1)首先由字符串头开始判断字符是否为"*"号字符,如果字符是符号"*",则对"*"号进行统计。
(2)根据统计的"*"号数目结合题目中对"*"号个数的要求,判断是执行对"*"号的截取操作,还是什么都不用做。
(3)然后将其他的所有字符拷贝到字符串,最后记得在新串s的末尾加上结束符"’\n’"。
转载请注明原文地址:https://kaotiyun.com/show/SXJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有如下程序段;intx=3,y=4,z;floata=2.0;z=y%x/a;则执行后,z中的值是()
以下函数用来在w数组中插入x。n所指向的存储单元中存放w数组中字符个数。数组w中的字符已按从小到大的顺序排列,插入后数组w中的字符仍有序。请填空。voidfun(char*w,charx,int*n){inti,
用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*)【】;
下列关于C语言数据文件的叙述中正确的是
在位运算中,操作数左移一位,其结果相当于
语句int(*ptr)();的含义是
若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是
在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值11,所需的关键码比较次数为______。
排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为______。
以下程序的功能是:输出x、y、z三个变量中的最大值,请填空。main(){intx,y,z,u;printf("Enterx,y,x;");scanf("%d%d%d",&x,&y,&z);if(【】)u=x
随机试题
二战后,日本法律制度属于()
下列哪些选项能说明支饮不同于哮病()
国务院期货监督管理机构应当制定期货公司持续性经营规则,对期货公司及其分支机构的下列()等方面提出要求。
一位教师在进行《两条小溪的对话》的教学时,让学生分角色表演,有一位学生问:“老师,我能不用书上的原话吗?”老师和蔼地问:“为什么呢?”“因为书中的原话太长,我背不下来,如果拿着书来表演,又不太好!”孩子说出了原因。“你的意见很好,用自己的话来表演吧!”老师
(2010年918联考一28)一副扑克牌有52张,最上面一张是红桃A。如果每次把最上面的10张移到最下面而不改变它们的顺序及朝向,那么,至少经过多少次移动,红桃A会出现在最上面?()
以特定目的作为犯罪构成必要要件的犯罪是()。
localization
[*]
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,其中该工程中包含定义了用于表示姓名的抽象类Name、表示“先名后姓”的姓名类Name1(名、姓之间用空格隔开)和表示“先姓后名”的姓名类Name2(姓、名之间用逗号隔开);程序应当
TomJohnsoncametoa(11).Hewantedtostayinasingleroomwithbath.Hemadethereservationatthe(12)Afterhearrived
最新回复
(
0
)