2c上机整理版(仅答案)解析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1类型一:调整一个数的个、十、百、千位1.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如,当a=45,b=12,调用该函数后c=4152。*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);STYPEFILEfpfor(i=0;i=sl;i++)把s后字母改为小写Lt[2*sl]='\0';2.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。例如,当a=45,b=12,调用该函数后c=1524。*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);*fwstrstrvoidfun(longs,long*t)sl=sl*10;3.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。例如,当a=45,b=12,调用该函数后c=2514。*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);fpfclose(fp)fnamefor(i=j+1;i=n-1;i++)p=i;4.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。例如,当a=45,b=12,调用该函数后c=5142。*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);rfsftif(d%2==0)s/=10;5.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。例如,当a=45,b=12,调用该函数后c=5241。*c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10);kN-1tempfun(inta[][M],intm)a[j][k]=(k+1)*(j+1);6.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。例如,当a=45,b=12,调用该函数后c=2415。*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;structstudent*a-score[i]achar*fun(char(*sq)[M])returnsp;7.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。例如,当a=45,b=12,调用该函数后c=1425。*c=(b/10)*1000+(a/10)*100+(b%10)*10+(a%10);0xt++inti,s1;s后面是小写的Lt[i]=s[sl-i-1];8.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。例如,当a=45,b=12,调用该函数后c=4251。*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);1si*10intfun(intn,intxx[][M])printf(%d,xx[i][j]);类型二:与*号有关的操作29.请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。删除前导*号intj=0;char*p=a;while(*p=='*')p++;while(*p){a[j++]=*p;p++;}a[j]=0;[N]t[i][j]t[j][i]#defineFU(m,n)((m)/(n))return(value);10.请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后的一个字母。除尾部*号,其余*删除char*q=a;intj=0;while(*q&&qp){if(*q!='*')a[j++]=*q;q++;}while(*p)a[j++]=*p++;a[j]=0;t[][N]i=0;insintfun(inta[],intm)elseif(ma[mid])11.请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。只删除中间*号intj=0;char*q=a;while(*q&&qh)a[j++]=*q++;while(*h&&*p&&hp){if(*h!='*')a[j++]=*h;h++;}while(*p)a[j++]=*p++;a[j]=0;sum=0t[i][i]1doubler;while(fabs(m-n)0.001)12.请编写函数fun,它的功能是:删除字符串中所有的*号。删除串中所有*号intj=0;char*p=a;while(*p){if(*p!='*')a[j++]=*p;p++;}a[j]=0;1j++jt=a;a=b;b=t;return(b);13.请编写函数fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。删除串尾*号char*p=a;while(*p)p++;p--;while(*p=='*')p--;p++;*p=0;Ni-1a2=k/10;returni;14.请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。除前导*外其他删除*inti=0,k;while(a[i]=='*')i++;k=i;while(a[i]!='\0'){if(a[i]!='*')a[k++]=a[i];i++;}a[k]='\0';Nkss[i]intk=0;while(*p||*q)15.请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。删除前导和尾部*char*p=a;intj=0,len=0;while(*p){p++;len++;}while(jlen-h-e){a[j]=a[h+j];j++;}a[j]=0;Nsubstr0fun(intx,inty,intz)returnj;16.请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个串尾部*号不多于n个char*p=a;intj=0;while(*p)p++;p--;while(*p=='*')p--;p++;while(jn&&*p){p++;j++;}*p=0;a[i]%2a[j]jfun(intn)if(n==1)317.请编写函数fun,它的功能是:使字符串的前导*号不得多于n个前导*不多于n个inti=0,j,k=0;while(a[k]=='*')k++;if(kn){i=n;j=k;for(;a[j]!=0;j++)a[i++]=a[j];a[i]=0;}MN0t=1;return(2*s);18.请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。串前*移至串尾char*p,*q;intn=0;p=a;while(*p=='*'){n++;p++;}q=a;while(*p){*q=*p;p++;q++;}for(;n0;n--)*q++='*';*q='\0';ab.namescore[i]s[j++]=s[i];s[j]=0;19.编写一个函数,从传入的num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标志)。inti,k=0,maxlen;maxlen=strlen(a[k]);for(i=1;inum;i++){if(strlen(a[i])maxlen){maxlen=strlen(a[i]);k=i;}}*max=a[k];[N]ii+1aa[i]=m%k;printf(%d,aa[i-1]);类型三:与下标或ASCII码有关20.请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。下标奇数位置子母改大写inti;for(i=1;istrlen(*ss);i+=2){if(ss[i]='a'&&ss[i]='z')ss[i]-=32;}kNa[k][i]for(i=strlen(t)-1;i;i--)if(t[j]t[j+1])21.请编写—个函数voidfun(char*ss),其功能是:将字符串ss中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。下标奇数位置子母改大写char*p=ss;inti=0;while(*p){if((i%2)&&(*p='a'&&*p='z'))*p-=32;p++;i++;}returnss;NULLnhead,chfor(i=0,t=0;p[i];i++)c[t]='\0';22.请编写函数fun,其功能是:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。下标为偶数字符删除inti,j=0;for(i=1;istrlen(s);i+=2)t[j++]=s[i];t[j]=0;datanextheadwhile(*r)*a=*r;a++;r++;23.编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码降序排列。除首尾外其余ASCII码降序charch;inti,j;for(i=1;i6;i++)for(j=i+1;j6;j++){if(*(s+i)*(s+j)){ch=*(s+j);*(s+j)=*(s+i);*(s+i)=ch;}}ss[i]n+j1if(*p=='')*(p-1)=toupper(*(p-1));424.请编写函数fun,其功能是:将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。ASCII码值为偶数删除inti,j=0;for(i=0;istrlen(s);i++)if(s[i]%2)t[j++]=s[i];t[j]=0;STUstd[i].numstd[i]r++;p++;if(*r==0)25.请编写函数fun,其功能是:将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。ASCII值为奇数删除inti,j=0;for(i=0;istrlen(s);i++)if(s[i]%2==0)t[j++]=s[i];t[j]=0;s[i]k'\0'while(*w)if(*r==*p)26.请编写函数fun,其功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除除下标偶数同时ASCII码值偶数之外其余全部删除inti,j=0;for(i=0;istrlen(s);i+=2)if(s[i]%2==0)t[j++]=s[i];t[j]=0;*nnextheada=NULL;if(*r==*p)27.请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除除下标奇数同时ASCII码也为奇数外其余字符删除inti,j=0;for(i=1;istrlen(s);i+=2)if(s

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功