- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二级C语言上机分类
第一类 删除或移动星号 1.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。
void fun(char *a )
{while(*a!=\0) a++;
a--;
while(*a==*) a--;
*(a+1)=\0;
}
改:a2=k/10 [2]return i;N [2]i [3]-1
2.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。void fun(char *a)
{ int i=0; char *p=a ;
while(*p*p==*) { a[i]=*p; i++; p++;}
while(*p){ if(*p!=’*’) { a[i]=*p; i++; } p++; }
a[i]= \0;
}
改:[1]int k=0;while(*p ||*q)
填:[1]i [2]ps[j] [3]tp 3.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。
例如,若字符串中的内容为*******A*BC*DEF*G****,假设n的值为4,删除后,字符串中的内容则应当是****A*BC*DEF*G****。oid fun(char *a,int n)
{ int i=0, k=0; char *p, *t;
p=t=a;
while(*t==*) { k++; t++;}
if(kn)
{ while(*p) { a[i]= *(p+k-n) ; i++; p++; }
a[i]=\0; }
}
改:[1]t=1.0;return(s*2);
.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的字符串函数。
例如,若字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容则应当是A*BC*DEF*G。
void fun(char *a,int n ,int h, int e)
{int i,j=0;
for(i=h;i n-e ;i++) a[j++]=a[i];
a[j]=‘\0’ ;
}
改:[1]fun(int x,int y,int z)return j;
5.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。
void fun(char *a)
{ int i=0,n=0 ; char *p ;
p=a;
while (*p==*) {n++ ; p++; }
while (*p) { a[i]= *p ; i++; p++ ; }
while(n!=0) { a[i]= * ;i++ ;n-- ; }
a[i]= \0 ;
}s[j++]=s[i];s[j]=\0;.请编写—个函数void fun(char *ss),其功能是:将字符串ss中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
void fun(char *ss)
{ int i;
for(i=0;ss[i]!=\0;i++)
{if(i%2 ==1ss[i]=a ss[i]=z)
ss[i]= ss[i] -32;}
}
改:[1]for(i=strlen(t);i0;i--)if(t[j]t[j+1])
填:[1]k [2]N [3]a[k][i] 第二类 数据组合 7.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。
例如,当a=45,b=12,调用该函数后c=4152。
void fun( int a, int b, long *c)
{ *c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10 ; }for(i=0;isl;i ++)t[2*sl]=\0;.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数
文档评论(0)