首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和·号。请编写函数fun,它的功能是:使字符串的前导·号不得多于n个;若多于n个,则删除多余的*号:若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。 例如,字符串中的内容为:*********A*BC*DE
假定输入的字符串中只包含字母和·号。请编写函数fun,它的功能是:使字符串的前导·号不得多于n个;若多于n个,则删除多余的*号:若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。 例如,字符串中的内容为:*********A*BC*DE
admin
2013-03-29
37
问题
假定输入的字符串中只包含字母和·号。请编写函数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中的值是()
阅读下列程序,则程序的输出结果为【】。#include"stdio.h"structty{intdata;charc;};main(){
以下程序的输出结果是【】。main(){inty=9;for(;y>0;y--)if(y%3==0){printf("%d",--y);contin
以下程序运行后的输出结果是【】。main(){intx=0210;printf("%X\n",x);}
在以下程序段中,已知血型数据占两个字节,则输出结果是unionun{inti;doubley;}structst{chara[10];unionunb;};
排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为______。
在数据结构中,从逻辑上可以把数据结构分为______。
数据模型按不同应用层次分成3种类型,它们是概念数据模型、【】和物理数据模型。
函数调用语句;fseek(fp,-20L,SEEK_END);的含义是()
在C语言的函数中()
随机试题
Thissummerthecity’sDepartmentofTransportationstartsanewbike-shareprogram.People【K1】________liveandworkinNewYork
简述申请律师执业的条件。
简述管理控制的三个基本环节的工作。
《建设工程施工合同(示范文本)》(GF一2013—0201)约定属于承包人工作义务的是()。
某企业2011年末进行财产清查,查明存在的情况有:(1)甲种原材料账面结存1500千克,每千克成本为6元,实际结存1570千克,经查属于收发计量不准确造成,经批准予以处理。(2)乙种原材料账面结存2100千克,每千克成本为10元,实际结存2000千克,
()以言语为工具,所反映的是事物的本质属性和内在规律。
____________。把政策支持作为促进保险业发展的重要力量,加强与国家有关部门、地方政府的协调与合作,完善保险业发展的政策支持体系,推动关系国计民生的保险业务的新发展。一是以税收优惠为突破口,推动养老保险和健康保险的新发展。二是以财政支持为突破口,推
下列关于赤潮的说法,正确的是:
领导交给你一项任务。你如何确保明白领导的意图。并把任务完成好?
HowmanychickensbecometheKFCchain’sfriedmealseveryyear?
最新回复
(
0
)