C语言二级考试机试编程题题库.rtf
类型一:调整一个数的个、十、百、千位类型一:调整一个数的个、十、百、千位1.函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。1.函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如,当a45,b=12时,调用该函数后,c=4152。例如,当a45,b=12时,调用该函数后,c=4152。注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。给定源程序:给定源程序:#include void fun(int a,int b,long*c)*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);main()int a,b;long c;printf(Input a,b:);scanf(%d,%d,&a,&b);fun(a,b,&c);printf(The result is:%dn,c);NONO();2.请编写函数请编写函数fun,其功能是其功能是:将两个两位数的正整数将两个两位数的正整数a、b合并形成一个整数放在合并形成一个整数放在c中。合并的方式是中。合并的方式是:将将a数的十位和个位数依次放在数的十位和个位数依次放在c数的个位和百位上数的个位和百位上,b数的十位和个位数依次放在数的十位和个位数依次放在c数的千位和十位上。数的千位和十位上。例如例如,当当a=45,b=12,调用该函数后调用该函数后c=1524。#include#include void fun(int a,int b,long*c)*c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;main()int a,b;long c;printf(input a,b:);scanf(%d%d,&a,&b);fun(a,b,&c);printf(the result is:%ldn,c);3.请编写函数请编写函数fun,其功能是其功能是:将两个两位数的正整数将两个两位数的正整数a、b合并形成一个整数放在合并形成一个整数放在c中。合并的方式是中。合并的方式是:将将a数的十位和个位数依次放在数的十位和个位数依次放在c数的个位和百位上数的个位和百位上,b数的十位和个位数依次放在数的十位和个位数依次放在c数的十位和千位上。数的十位和千位上。例如例如,当当a=45,b=12,调用该函数后调用该函数后c=2514。#include#include void fun(int a,int b,long*c)*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;main()int a,b;long c;printf(input a,b:);scanf(%d%d,&a,&b);fun(a,b,&c);printf(the result is:%ldn,c);4.请编写函数请编写函数fun,其功能是其功能是:将两个两位数的正整数将两个两位数的正整数a、b合并形成一个整数放在合并形成一个整数放在c中。合并的方式是中。合并的方式是:将将a数的十位和个位数依次放在数的十位和个位数依次放在c数的十位和千位上数的十位和千位上,b数的十位和个位数依次放在数的十位和个位数依次放在c数的百位和个位上。数的百位和个位上。例如例如,当当a=45,b=12,调用该函数后调用该函数后c=5142。#include#include void fun(int a,int b,long*c)*c=(a%10)*1000+(b/10)*100+(a/10)*10+b%10;main()int a,b;long c;printf(input a,b:);scanf(%d%d,&a,&b);fun(a,b,&c);printf(the result is:%ldn,c);5.请编写函数请编写函数fun,其功能是其功能是:将两个两位数的正整数将两个两位数的正整数a、b合并形成一个整数放在合并形成一个整数放在c中。合并的方式是中。合并的方式是:将将a数的十位和个位数依次放在数的十位和个位数依次放在c数的十位和千位上数的十位和千位上,b数的十位和个位数依次放在数的十位和个位数依次放在c数的个位和百位上。数的个位和百位上。例如例如,当当a=45,b=12,调用该函数后调用该函数后c=5241。#include#include void fun(int a,int b,long*c)*c=a/10*10+a%10*1000+b/10+b%10*100;main()int a,b;long c;clrscr();printf(Input a,b:);scanf(%d%d,&a,&b);fun(a,b,&c);printf(The result is:%ldn,c);NONO();NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE*rf,*wf int i,a,b long c rf=fopen(in1.dat,r)wf=fopen(bc08.dat,w)for(i=0 i 10 i+)fscanf(rf,%d,%d,&a,&b)fun(a,b,&c)fprintf(wf,a=%d,b=%d,c=%ldn,a,b,c)fclose(rf)fclose(wf)6.请编写函数请编写函数fun,其功能是其功能是:将两个两位数的正整数将两个两位数的正整数a、b合并形成一个整数放在合并形成一个整数放在c中。合并的方式是中。合并的方式是:将将a数的十位和个位数依次放在数的十位和个位数依次放在c数的百位和个位上数的百位和个位上,b数的十位和个位数依次放在数的十位和个位数依次放在c数的十位和千位上。数的十位和千位上。例如例如,当当a=45,b=12,调用该函数后调用该函数后c=2415。#include#include void fun(int a,int b,long*c)*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;main()int a,b;long c;printf(input a,b:);scanf(%d%d,&a,&b);fun(a,b,&c);printf(the result is:%ldn,c);7.请编写函数请编写函数fun,其功能是其功能是:将两个两位数的正整数将两个两位数的正整数a、b合并形成一个整数放在合并形成一个整数放在c中。合并的方式是中。合并的方式是:将将a数的十位和个位数依次放在数的十位和个位数依次放在c数的百位和个位上数的百位和个位上,b数的十位和个位数依次放在数的十位和个位数依次放在c数的千位和十位上。数的千位和十位上。例如例如,当当a=45,b=12,调用该函数后调用该函数后c=1425。#include#include void fun(int a,int b,long*c)*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;main()int a,b;long c;printf(input a,b:);scanf(%d%d,&a,&b);fun(a,b,&c);printf(the result is:%ldn,c);8.请编写函数请编写函数fun,其功能是其功能是:将两个两位数的正整数将两个两位数的正整数a、b合并形成一个整数放在合并形成一个整数放在c中。合并的方式是中。合并的方式是:将将a数的十位和个位数依次放在数的十位和个位数依次放在c数的千位和十位上数的千位和十位上,b数的十位和个位数依次放在数的十位和个位数依次放在c数的个位和百位上。数的个位和百位上。例如例如,当当a=45,b=12,调用该函数后调用该函数后c=4251。#include#include void fun(int a,int b,long*c)int i,j,k,n;i=a%10;j=a/10;k=b%10;n=b/10;*c=j*1000+k*100+i*10+n;main()int a,b;long c;printf(input a,b:);scanf(%d%d,&a,&b);fun(a,b,&c);printf(the result is:%ldn,c);类型二:与类型二:与*号有关的操作号有关的操作1.规定输入的字符串中只包含字母和规定输入的字符串中只包含字母和*号。请编写函数号。请编写函数fun,它的功能是它的功能是:将字符串中的前导将字符串中的前导*号全部删除号全部删除,中间和尾部的中间和尾部的*号不删除。号不删除。例如例如,若字符串中的内容为若字符串中的内容为*A*BC*DEF*G*,删除后删除后,字符串中的内容则应当是字符串中的内容则应当是A*BC*DEF*G*。在编写函数时。在编写函数时,不得使用不得使用C语言提供的字符串函数。语言提供的字符串函数。#include#include voidfun (char*a)int j=0;int j=0;char*p=a;char*p=a;while(*p=*)p+;while(*p=*)p+;while(*p)aj+=*p;p+;while(*p)aj+=*p;p+;aj=0;aj=0;main()FILE*wf;char s81,*t=*A*BC*DEF*G*;printf(Enter a string:n);gets(s);fun(s);printf(The string after deleted:n);puts(s);wf=fopen(out.dat,w);fun(t);fprintf(wf,%s,t);fclose(wf);2.假定输入的字符串中只包含字母和假定输入的字符串中只包含字母和*号。请编写函数号。请编写函数fun,它的功能是它的功能是:除了尾部的除了尾部的*号之外号之外,将字符串中其他将字符串中其他*号全部删除。形参号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时已指向字符串中最后的一个字母。在编写函数时,不得使用不得使用C语言提供的字符串函数。语言提供的字符串函数。例如例如,若字符串中的内容为若字符串中的内容为*A*BC*DEF*G*,删除后删除后,字符串中的则内容应当是字符串中的则内容应当是ABCDEFG*。#include#includevoid fun(char*a,char*p)char*q=a;int j=0;char*q=a;int j=0;while(*q&qp)if(*q!=*)aj+=*q;q+;while(*q&qp)if(*q!=*)aj+=*q;q+;while(*p)aj+=*p+;while(*p)aj+=*p+;aj=0;aj=0;main()FILE*wf;char h81,*t,p81=*A*BC*DEF*G*;printf(Enter a string:n);gets(h);t=h;while(*t)t+;t-;while(*t=*)t-;fun(h,t);printf(The string after deleted:n);puts(h);wf=fopen(out.dat,w);t=p;while(*t)t+;t-;while(*t=*)t-;fun(p,t);fprintf(wf,%s,p);fclose(wf);3.假定输入的字符串中只包含字母和假定输入的字符串中只包含字母和*号。请编写函数号。请编写函数fun,它的功能是它的功能是:除了字符串前导和尾部的除了字符串前导和尾部的*号之外号之外,将串中其他将串中其他*号全部删除。形参号全部删除。形参h已指向字符串中第一个字母已指向字符串中第一个字母,形参形参p已指向字符串中最后一个字母。在编写函数时已指向字符串中最后一个字母。在编写函数时,不得使用不得使用C语言提供的字符串函数。语言提供的字符串函数。例如例如,若字符串中的内容为若字符串中的内容为*A*BC*DEF*G*,删除后删除后,字符串中的内容则应当是字符串中的内容则应当是*ABCDEFC*。#include#include void fun(char*a,char*h,char*p)int j=0;char*q=a;int j=0;char*q=a;while(*q&q h)aj+=*q+;while(*q&q h)aj+=*q+;while(*h&*p&h p)if(*h!=*)aj+=*h;h+;while(*h&*p&h p)if(*h!=*)aj+=*h;h+;while(*p)aj+=*p+;while(*p)aj+=*p+;aj=0;aj=0;main()FILE*wf;char s81,*t=*A*BC*DEF*G*;printf(Enter a string:n);gets(s);fun(s);printf(The string after deleted:n);puts(s);wf=fopen(out.dat,w);fun(t);fprintf(wf,%s,t);fclose(wf);4.假定输入的字符串中只包含字母和假定输入的字符串中只包含字母和*号。请编写函数号。请编写函数fun,它的功能是它的功能是:删除字符串中所有的删除字符串中所有的*号。在编写函数时号。在编写函数时,不得使用不得使用C语言提供的字符串函数。语言提供的字符串函数。例如例如,若字符串中的内容为若字符串中的内容为*A*BC*DEF*G*,删除后删除后,字符串中的内容则应当是字符串中的内容则应当是ABCDEFG。#include#includevoid fun(char*a)int j=0;char*p=a;int j=0;char*p=a;while(*p)while(*p)if(*p!=*)aj+=*p;if(*p!=*)aj+=*p;p+;p+;aj=0;aj=0;main()FILE*wf;char s81,*p=*A*BC*DEF*G*;printf(Enter a string:n);gets(s);fun(s);printf(The string after deleted:n);puts(s);wf=fopen(out.dat,w);fun(p);fprintf(wf,%s,p);fclose(wf);5.假定输入的字符串中只包含字母和假定输入的字符串中只包含字母和*号。请编写函数号。请编写函数fun,它的功能是它的功能是:将字符串尾部的将字符串尾部的*号全部删除号全部删除,前面和中间的前面和中间的*号不删除。号不删除。例如例如,若字符串中的内容为若字符串中的内容为*A*BC*DEF*G*,删除后删除后,字符串中的内容则应当是字符串中的内容则应当是*A*BC*DEF*G。在编写函数时。在编写函数时,不得使用不得使用C语言提供的字符串函数。语言提供的字符串函数。#include#include void fun (char*a)char*p=a;char*p=a;while(*p)p+;p-;while(*p)p+;p-;while(*p=*)p-;while(*p=*)p-;p+;p+;*p=0;*p=0;main()FILE*wf;char s81,*t=*A*BC*DEF*G*;printf(Enter a string:n);gets(s);fun(s);printf(The string after deleted:n);puts(s);wf=fopen(out.dat,w);fun(t);fprintf(wf,%s,t);fclose(wf);6.假定输入的字符串中只包含字母和假定输入的字符串中只包含字母和*号。请编写函数号。请编写函数fun,它的功能是它的功能是:除了字符串前导的除了字符串前导的*号之外号之外,将串中其他将串中其他*号全部删除。在编写函数时号全部删除。在编写函数时,不得使用不得使用C语言提供的字符串函数。语言提供的字符串函数。例如例如,若字符串中的内容为若字符串中的内容为*A*BC*DEF*G*,删除后删除后,字符串中的内容则应当是字符串中的内容则应当是*ABCDEFG。#include#include void fun(char*a)int i=0,k;int i=0,k;while(ai=*)i+;while(ai=*)i+;k=i;k=i;while(ai!=0)while(ai!=0)if(ai!=*)ak+=ai;if(ai!=*)ak+=ai;i+;i+;ak=0;ak=0;main()FILE*wf;char s81,*t=*A*BC*DEF*G*;printf(Enter a string:n);gets(s);fun(s);printf(The string after deleted:n);puts(s);wf=fopen(out.dat,w);fun(t);fprintf(wf,%s,t);fclose(wf);7.假定输入的字符串中只包含字母和假定输入的字符串中只包含字母和*号。请编写函数号。请编写函数fun,它的功能是它的功能是:只删除字符串前导和尾部的只删除字符串前导和尾部的*号号,串中字母之间的串中字母之间的*号都不删除。形参号都不删除。形参n给出了字符串的长度给出了字符串的长度,形参形参h给出了字符串中前导给出了字符串中前导*号的个数号的个数,形参形参e给出了字符串中最后给出了字符串中最后*号的个数。在编写函数时号的个数。在编写函数时,不得使用不得使用C语言提供的字符串函数。语言提供的字符串函数。例如例如,若字符串中的内容为若字符串中的内容为*A*BC*DEF*G*,删除后删除后,字符串中的内容则应当是字符串中的内容则应当是A*BC*DEF*G。#include#include void fun (char*a,int n,int h,int e)int i,j=0;for(i=h;i n-e;i+)aj+=ai;aj=0;main()FILE*wf;char s81,*t,*f;char*p=*A*BC*DEF*G*;int m=0,tn=0,fn=0;printf(Enter a string:n);gets(s);t=f=s;while(*t)t+;m+;t-;while(*t=*)t-;tn+;while(*f=*)f+;fn+;fun(s,m,fn,tn);printf(The string after deleted:n);puts(s);wf=fopen(out.dat,w);fun(p,21,4,7);fprintf(wf,%s,p);fclose(wf);8.假定输入的字符串中只包含字母和假定输入的字符串中只包含字母和*号。请编写函数号。请编写函数fun,它的功能是它的功能是:使字符串中尾部的使字符串中尾部的*号不得多于号不得多于n个;若多于个;若多于n个个,则删除多余的则删除多余的*号;若少于或等于号;若少于或等于n个个,则什么也不做则什么也不做,字符串中间和前面的字符串中间和前面的*号不删除。号不删除。例如例如,字符串中的内容为字符串中的内容为*A*BC*DEF*C*,若若n的值为的值为4,删除后删除后,字符串中的内容则应当是字符串中的内容则应当是*A*BC*DEF*G*,若若n的值的值7,则字符串中的内容仍为则字符串中的内容仍为*A*BC*DEF*C*。n的值在主函数中输入。在编写函数时的值在主函数中输入。在编写函数时,不得使用不得使用C语言提供的字符串函数。语言提供的字符串函数。#include#include void fun(char*a,int n)char*p=a;int j=0;char*p=a;int j=0;while(*p)p+;while(*p)p+;p-;p-;while(*p=*)p-;while(*p=*)p-;p+;p+;while(jn&*p)p+;j+;while(jn&*p)p+;j+;*p=0;*p=0;main()FILE*wf;char s81,*t=*A*BC*DEF*G*;printf(Enter a string:n);gets(s);fun(s);printf(The string after deleted:n);puts(s);wf=fopen(out.dat,w);fun(t);fprintf(wf,%s,t);fclose(wf);9.假定输入的字符串中只包含字母和假定输入的字符串中只包含字母和*号。请编写函数号。请编写函数fun,它的功能是它的功能是:使字符串的前导使字符串的前导*号不得多于号不得多于n个;若多于个;若多于n个个,则删除多余的则删除多余的*号;若少于或等于号;若少于或等于n个个,则什么也不做则什么也不做,字符串中间和尾部的字符串中间和尾部的*号不删除。号不删除。例如例如,若字符串中的内容为若字符串中的内容为*A*BC*DEF*G*,假设假设n的值为的值为4,删除后删除后,字符串中的内容则应 当 是字符串中的内容则应 当 是*A*BC*DEF*G*;若;若 n 的 值 为的 值 为 8,则 字 符 串 中 的 内 容 仍 为则 字 符 串 中 的 内 容 仍 为*A*BC*DEF*G*。n的值在主函数中输入。在编写函数时的值在主函数中输入。在编写函数时,不得使用不得使用C语言提供的字符串函数。语言提供的字符串函数。#include#include void fun(char*a,int n)int i=0,j,k=0;int i=0,j,k=0;while(ak=*)k+;while(ak=*)k+;if(kn)if(kn)i=n;j=k;i=n;j=k;for(;aj!=0;j+)ai+=aj;for(;aj!=0;j+)ai+=aj;ai=0;ai=0;main()FILE*wf;char s81,*t=*A*BC*DEF*G*;int n;printf(Enter a string:n);gets(s);printf(Enter n:);scanf(%d,&n);fun(s,n);printf(The string after deleted:n);puts(s);wf=fopen(out.dat,w);fun(t,2);fprintf(wf,%s,t);fclose(wf);10.假定输入的字符串中只包含字母和假定输入的字符串中只包含字母和*号。请编写函数号。请编写函数fun,它的功能是它的功能是:将字符串中的前导将字符串中的前导*号全部移到字符串的尾部。号全部移到字符串的尾部。例如例如,若字符串中的内容为若字符串中的内容为*A*BC*DEF*G*,移动后移动后,字符串中的内容应当是字符串中的内容应当是A*BC*DEF*G*。在编写函数时。在编写函数时,不得使用不得使用C语言提供的字符串函数。语言提供的字符串函数。#include#include void fun(char*a)char*p,*q;int n=0;char*p,*q;int n=0;p=a;p=a;while(*p=*)n+;p+;while(*p=*)n+;p+;q=a;q=a;while(*p)*q=*p;p+;q+;while(*p)*q=*p;p+;q+;for(;n0;n-)*q+=*;for(;n0;n-)*q+=*;*q=0;*q=0;main()FILE*wf;char s81,*t=*A*BC*DEF*G*;printf(Enter a string:n);gets(s);fun(s);printf(The string after deleted:n);puts(s);wf=fopen(out.dat,w);fun(t);fprintf(wf,%s,t);fclose(wf);11.编写一个函数编写一个函数,从传入的从传入的num个字符串中找出最长的一个字符串个字符串中找出最长的一个字符串,并通过形参指针并通过形参指针max传回该串地址传回该串地址(用用*作为结束输入的标志作为结束输入的标志)。#include stdio.h#include string.h#include conio.hfun(char(*a)81,int num,char*max)char*p=a0;int i;for(i=1;istrlen(p)p=ai;*max=p;main()char ss1081,*ps;int n,i=0;clrscr();printf(enter string:n);gets(ssi);puts(ssi);while(!strcmp(ssi,*)=0)i+;gets(ssi);puts(ssi);n=i;fun(ss,n,&ps);printf(nmax=%sn,ps);类型三:与下标或类型三:与下标或ASCII码有关码有关1.请编写一个函数请编写一个函数fun,它的功能是它的功能是:将将ss所指字符串中所有下标为奇数位置上的字母转换为大写所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母若该位置上不是字母,则不转换则不转换)。例如例如,若输入若输入abc4Efg,则应输出则应输出aBc4EFg。#include#include#includevoid fun(char*ss)int i;for(i=0;ssi!=0;i+)if(i%2=1&ssi=a&ssi=z)ssi-=32;main()FILE *wf;char tt81,s10=abc4Efg;printf(nPlease enter an string within 80 characters:n);gets(tt);printf(nnAfter changing,the stringn%s,tt);fun(tt);printf(nbecomesn%sn,tt);wf=fopen(out.dat,w);fun(s);fprintf(wf,%s,s);fclose(wf);2.请编写请编写个函数个函数void fun(char*ss),其功能是其功能是:将字符串将字符串ss中所有下标为奇数位置上的字母转换为大写中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母若该位置上不是字母,则不转换则不转换)。例如例如,若输入若输入abc4EFg,则应输出则应输出aBc4EFg。#include#includevoid fun(char*ss)int i;for(i=0;ssi!=0;i+)if(i%2=1&ssi=a&ssi=z)ssi-=32;main()FILE*wf;char tt51,*s=abc4Efg;printf(Please enter an character string within 50 characters:n);gets(tt);printf(nnAfter changing,the stringn%s,tt);fun(tt);printf(nbecomesn%s,tt);wf=fopen(out.dat,w);fun(s);fprintf(wf,%s,s);fclose(wf);3.请编写函数请编写函数fun,其功能是其功能是:将将s所指字符串中下标为偶数的字符删除所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在串中剩余字符形成的新串放在t所指数组中。所指数组中。例如例如,当当s所指字符串中的内容为所指字符串中的内容为ABCDEFGHIJK,则在则在t所指数组中的内容应是所指数组中的内容应是BDFHJ。#include#include#includevoid fun(char*s,char t)int i,j=0,k=strlen(s);for(i=1;ik;i=i+2)tj+=si;tj=0;main()FILE*wf;char s100,t100;printf(nPlease enter string S:);scanf(%s,s);fun(s,t);printf(nThe result is:%sn,t);wf=fopen(out.dat,w);fun(ABCDEFGHIJK,t);fprintf(wf,%s,t);fclose(wf);4.编写函数编写函数fun,对长度为对长度为7个字符的字符串个字符的字符串,除首、尾字符外除首、尾字符外,将其余将其余5个字符按个字符按ASCII码降序排列。码降序排列。例如例如,若原来的字符串为若原来的字符串为CEAedca,则排序后输出为则排序后输出为CedcEAa。#include#include#include/*该题采用的排序法是选择法进行降序排序,算法是用外for()循环从字符串的前端往后端走动,每走动一个字符都用内嵌的for()循环在该字符后找出最小的字符与该字符进行换位。直到外for()循环走到最后一个字符。此外,此题还要注意把首尾字符除开,即在最外层for()循环中从1开始,只到num-2即可。*/int fun(char*s,int num)int i,j,t;for(i=1;inum-2;i+)for(j=i+1;jnum-1;j+)if(sisj)t=si;si=sj;sj=t;main()char s10;clrscr();printf(输入7个字符的字符串:);gets(s);fun(s,7);printf(n%s,s);5.请编写函数请编写函数fun,其功能是其功能是:将将s所指字符串中所指字符串中ASCII值为偶数的字符删除值为偶数的字符删除,串中剩余字符形成一个新串放在串中剩余字符形成一个新串放在t所指的数组中。所指的数组中。例如例如,若若s所指字符串中的内容为所指字符串中的内容为ABCDEFGl2345,其中字符其中字符B的的ASCII码值为偶数、码值为偶数、字符、字符2的的ASCII码值为偶数、码值为偶数、都应当删除都应当删除,其他依此类推。最后其他依此类推。最后t所指的数组中的内容应是所指的数组中的内容应是ACEGl35。#include#include#includevoid fun(char *s,char t)int i=0;for(;*s!=0;s+)if(*s%2=1)ti+=*s;ti=0;main()FILE*wf;char s100,t100;printf(nPlease enter string S:);scanf(%s,s);fun(s,t);printf(nThe result is:%sn,t);wf=fopen(out.dat,w);fun(ABCDEFG12345,t);fprintf(wf,%s,t);fclose(wf);6.请编写函数请编写函数fun,其功能是其功能是:将将s所指字符串中所指字符串中ASCII值为奇数的字符删除值为奇数的字符删除,串中剩余字符形成一个新串放在串中剩余字符形成一个新串放在t所指的数组中。所指的数组中。例如例如,若若s所指字符串中的内容为所指字符串中的内容为ABCDEFGl2345,其中字符其中字符A的的ASCII码值为奇数、码值为奇数、字符字符1的的ASCII码值也为奇数、码值也为奇数、都应当删除都应当删除,其他依次类推。最后其他依次类推。最后t所指的数组中的内容应是所指的数组中的内容应是BDF24。#include#include#include void fun(char*s,char t)int i,j=0,n;n=strlen(s);for(i=0;in;i+)if(si%2=0)tj=si;j+;tj=0;main()FILE*wf;char s100,t100;printf(nPlease enter string S:);scanf(%s,s);fun(s,t);printf(nThe result is:%sn,t);wf=fopen(out.dat,w);fun(ABCDEFG12345,t);fprintf(wf,%s,t);fclose(wf);7.请编写函数请编写函数fun,其功能是其功能是:将将s所指字符串中除了下标为偶数、同时所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。所指的数组中。例如例如,若若s所指字符串中的内容为所指字符串中的内容为ABCDEFGl23456,其中字符其中字符A的的ASCII码值为奇数码值为奇数,因此应当删除;其中字符因此应当删除;其中字符B的的ASCII码值为偶数码值为偶数,但在数组中的下标为奇数但在数组中的下标为奇数,因此也应当删除;而字符因此也应当删除;而字符2的的ASCII码值为偶数码值为偶数,所在数组中的下标也为偶数所在数组中的下标也为偶数,因此不应当删除因此不应当删除,其他依此类推。最后其他依此类推。最后t所指的数组中的内容应是所指的数组中的内容应是246。#include#include#includevoid fun(char*s,char t)int i,j=0;for(i=0;si!=0;i+)if(i%2=0&si%2=0)tj+=si;tj=0;main()FILE*wf;char s100,t100;printf(nPlease enter string S:);scanf(%s,s);fun(s,t);printf(nThe result is:%sn,t);wf=fopen(out.dat,w);fun(ABCDEFG123456,t);fprintf(wf,%s,t);fclose(wf);8.请编写函数请编写函数fun,其功能是其功能是:将将s所指字符串中除了下标为奇数、同时所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外值也为奇数的字符之外,其余的所有字符都删除其余的所有字符都删除,串中剩余字符所形成的一个新串放在串中剩余字符所形成的一个新串放在t所指的数组中。所指的数组中。例如例如,若若s所指字符串中的内容为所指字符串中的内容为ABCDEFG12345,其中字符其中字符A的的ASCII码值虽为奇数码值虽为奇数,但所在元素的下标为偶数但所在元素的下标为偶数,因此必需删除;而字符因此必需删除;而字符1的的ASCII码值为奇数码值为奇数,所在数组中的下标也为奇数所在数组中的下标也为奇数,因此不应当删除因此不应当删除,其他依此类推。最后其他依此类推。最后t所指的数组中的内容应是所指的数组中的内容应是135。#include#include#include void fun(char*s,char t)int i,j=0,n;n=strlen(s);for(i=0;in;i+)if(i%2!=0&si%2!=0)tj=si;j+;tj=0;main()char s100,t100;printf(nplease enter string S:);scanf(%s,s);fun(s,t);printf(nthe result is:%sn,t);9.请编写函数请编写函数fun,其功能是其功能是:将将s所指字符串中下标为偶数同时所指字符串中下标为偶数同时ASCII值为奇数的字符删除值为奇数的字符删除,s中剩余的字符形成的新串放在中剩余的字符形成的新串放在t所指的数组中。所指的数组中。例如例如,若若s所指字符串中的内容为所指字符串中的内容为ABCDEFGl2345,其中字符其中字符C的的ASCII码值为奇数码值为奇数,在数组中的下标为偶