三、字符题:
80将字符串ss中所有下标为偶数位置上的字母转化为大写(若该位置上不是字母,则不转换)。若输入abc4Efg,则应输出AbC4EfG。
void fun ( char *ss)
{int i;
for(i=0;ss[i]!='\0';i++)
{if(i%2==0 && ss[i]>=’a'&& ss[i]<= 'z')
ss[i]=ss[i]-32;}}
81将ss所指字符串中所有下标为偶数位置的字母转换为小写(若该位置上不是字母,则不转换)。若输入ABC4efG,则应输出aBc4efg。
void fun(char *ss)
{int i;
for(i=0;ss[i]!='\0';i++)
if(i%2= =0 &&ss[i]>='A'&&ss[i]<='Z')
ss[i]=ss[i]+32;}
82将s所指字符串中下标为偶数同时ASCII值也为偶数的字符删除, s中剩余的字符形成一个新串放在t所指的数组中。例如,若s所指字符串中的内容为"ABCDEFG12345",最后t所指的数组中的内容应是"ABCDEFG135"。
void fun(char *s, char t[])
{int i,slenth,n=0;slenth=strlen(s);
for(i=0;i<slenth;i++)
{if(s[i]%2==0&&i%2==0) ;
else t[n++]=s[i];}t[n]='\0';}
83将s所指字符串中下标为奇数、同时ASCII值也为奇数的字符删除,串中剩余的字符形成一个新串放在
t所指的数组中。例如:若s所指串中的内容为"ABCDEFG12345",最后,t所指的数组中的内容是"ABCDEFG24"。
void fun(char *s,char t[])
{int i,slenth,n=0;slenth=strlen(s);
for(i=0;i<slenth;i++)
{if(i%2!=0&&s[i]%2!=0);
else t[n++]=s[i];}t[n]='\0';}
84将s所指字符串中下标为奇数同时ASCII值为偶数的字符删除,s中剩余字符形成的新串放在t所指的数组中。例如,若s所指字符串中的内容为:"ABCDEFG12345",最后t所指的数组中的内容应是:"ACEG12345"。
void fun(char *s, char t[])
{int i,slenth,n=0;slenth=strlen(s);
for(i=0;i<slenth;i++)
{if(i%2!=0&&s[i]%2==0);
else t[n++]=s[i];}t[n]='\0';}
85将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s中剩余的字符形成的新串放在t所指的数组中。例如,若s所指字符串中的内容为ABCDEFG12345,则t所指的数组中的内容应是BDF12345。
void fun(char *s,char t[])
{int i,j=0,n=strlen(s);
for(i=0;i<n;i++)
if(!(i%2==0&&s[i]%2!=0))
t[j++]=s[i];t[j]=’\0’;}
86将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。例如,当s所指字符串中的内容为ABCDEFGHIJK,则在t所指数组中的内容应是BDFHJ。
void fun(char *s,char t[])
{int i,j=0,k=strlen(s);
for(i=1;i<k;i=i+2)t[j++]=s[i];
t[j]='\0';}
87将s所指字符串中下标为奇数的字符删除,串中剩余字符形成的新串放在t所指数组中。例如,当s所指字符串中的内容为siegAHdied,则在t所指数组中的内容应是seAde。
void fun(char *s,char t[ ])
{int i,j=0,k=strlen(s);
for(i=0;i<k;i=i+2)t[j++]=s[i];
t[j]='\0';}
88将s所指字符串中ASCⅡ值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。例如,若s所指字符串中的内容为ABCDEFG12345,
最后t所指的数组中的内容应是ACEG135。
void fun(char *s, char t[])
{int i=0;
for(;*s!='\0';s++)
if(*s%2==1)t[i++]=*s;t[i]='\0';}
89将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。若s所指字符串中的内容为ABCDEFG12345,最后t所指的数组中的内容应是BDF24。
void fun(char *s,char t[])
{int i,j=0,n=strlen(s);
for(i=0;i<n;i++)
if(s[i]%2==0)
t[j++]=s[i];t[j]=’\0’;}
90将s所指字符串除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若s所指字符串中的内容为ABCDEFG12345,最后t所指的数组内容应是135。
void fun(char *s,char t[])
{int i,j=0,n;n=strlen(s);
for(i=0;i<n;i++)
if(i%2!=0 && s[i]%2!=0)
t[j++]=s[i];t[j]=’\0’;}
91将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全部删除,串中剩余字符所形成的一个新串放在t所指的数组中。若s所指字符串中的内容为ABCDEFG123456,最后t所指的数组中的内容应是246。
void fun(char *s, char t[])
{int i,j=0;
for(i=0;s[i]!='\0';i++)
if(i%2==0&&s[i]%2==0)
t[j++]=s[i];t[j]='\0';}
92将s所指字符串中除了下标为偶数、同时ASCⅡ码值为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若s所指字符串中的内容为ABCDEFG12345,最后t所指的数组中的内容应是ACEG。
void fun(char *s, char t[])
{int i,j=0;
for(i=0;s[i]!='\0';i++)
{if(i%2==0 && s[i]%2!=0)
t[j++]=s[i];}t[j]= '\0';}
93将s所指字符串中除了下标为奇数、同时ASCII值为偶数的字符外,其余的全部删除,串中剩余字符所
形成的一个新串放在t所指的数组中。例如,若s所指字符串中的内容为edB2A4Dsdg,最后t所指的数组中的内容应是d24。
void fun(char*s, char t[ ])
{int i,j=0;
for(i=0;s[i]!='\0';i++)
if(i%2!=0&&s[i]%2==0)
t[j++]=s[i];t[j]='\0';}
94除了尾部的*号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后一个字母。(不得使用字符串函数)例如,若字符串中的内容为****A*BC*DEF*G******,删除后,字符串中的内容应当是ABCDEFG******。
void fun(char *a,char *p)
{char *t=a;
for(;t<=p;t++)
if(*t!='*')*(a++)=*t;
for(;*t!='\0';t++)
*(a++)=*t;*a='\0';}
95删除字符串中所有的*号(不得使用字符串函数)。例如,若字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容则应当是ABCDEFG。
void fun(char *a)
{int i,j=0;
for(i=0;a[i]!='\0';i++)
if(a[i]!='*')a[j++]=a[i];a[j]='\0';}
96除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。(不得使用字符串函
数)。若字符串中的内容为****A*BC*DEF*G********,删除后,字符串中的内容则应当是****ABCDEFG********。
void fun(char *a,char *h,char *p)
{int i=0;char *q=a;
while(q<h){a[i++]=*q;q++;}
while(q<p)
{if(*q!=’*’)a[i++]=*q;q++;}
while(*q){a[i++]=*q;q++;}
a[i]=’\0’;}
97除了字符串前导的*号之外,将串中其他*号全部删除。(不得使用字符串函数)。例如,若字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容则应当是****ABCDEFG。
void fun(char *a)
{int i=0;char *p=a;
while(*p&&*p==’*’)
{a[i++]=*p;p++;}
while(*p)
{if(*p!=’*’)a[i++]=*p;p++;}
a[i]=’\0’;}
98将字符串尾部的*号全部删除,前面和中间的*号不删除。例如,若字符串中的内容为****A*BC*DEF*G*******,删除后的内容则应当是****A*BC*DEF*G。
void fun (char *a)
{while(*a!='\0')a++;a--;
while(*a=='*')a--;*(a+1)='\0';}
99只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。(不得使用字符串函数)例如,若字符串中的内容为****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';}
100将字符串中的前导*号全部删除,中间和后面的*号不删除。例如,若字符串中的内容为****A*BC*DEF*G*******,删除后的内容则应当是A*BC*DEF*G*******。
void fun (char *a)
{char *p=a;while(*p=='*') p++;
for(;*p!='\0';p++,a++)
*a=*p;*a='\0';}
101使字符串中前部的*号不得多余n个;若多余n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。例如,若字符串中的内容为****A*BC*DEF*G*******,若n的值为2,删除后,字符串中的内容则应当是**A*BC*DEF*G*******;若n的值为4,则字符串中的内容仍为****A*BC*DEF*G*******。n的值在主函数中输入。(不得使用字符串函数)。
void fun(char *a,int n )
{int i=0, k=0; char *p, *t;
p=t=a;while(*t=='*'){k++; t++;}
if(k>n){while(*p){a[i]=*(p+k-n);
i++;p++;}a[i]='\0';}}
102使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做字符串中间和前面的*号不删除。例如,字符串中的内容为***A*BC*DEF*G*******,若n的值为4,删除后,字符串中的内容则应当是****A*BC*DEF*G****;若n的值为7,则字符串中的内容仍为****A*BC*DEF*G*******。n的值在主函数中输入。
void fun(char *a,int n)
{int i=0,k=0;char *p,*t;p=t=a;
while(*t)t++;t--;
while(*t==’*’){k++;t--;}t++;
if(k>n){while(*p&&p<t+n){a[i++]=*p;
p++;}a[i]=’\0’;}
103将字符串中的前导*号全部移到字符串的尾部。若字符串中的内容为*****
**A*BC*DEF*G****,移动后,字符串中的内容应当是A*BC*DEF*G***********。
void fun(char *a)
{int i=0,n=0;char *p=a;
while(*p==’*’){n++;p++;}
while(*p){a[i++]=*p;p++;}
while(n!=0){a[i++]=’*’;n--;}
a[i]=’\0’;}
104从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。例如:若程序执行时输入字符串为turbo c and borland c++从键盘上输入字符n,则输出后变为:turbo c ad borlad c++。如果输入的字符在字符串中不存在,字符串照原样输出。
int fun(char s[],int c)
{int i=0;char *p;p=s;
while(*p){if(*p!=c){s[i++]=*p;p++;}
s[i]=’\0’;}
105删除一个字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。例如,输入一个字符串world,然后输入3,则调用该函数后的结果为word。
void fun (char a[ ], char b [ ], int n)
{int i,k=0;
for(i=0;a[i]!='\0';i++)
if(i!=n)b[k++]=a[i];b[k]='\0';}
106删除字符串规定下标开始的n个字符。例如,字符串内容为:Hellollo World!,k中的值为:5,n中的值为:3,则调用该函数的结果为:Hello World!。
void fun(char *a,int k,int n)
{int i;i=k;
while(a[i-1]!='\0')
{a[i]=a[i+n];i=i+1;}}
107删除字符串中的数字字符。例如输入字符串:48CTYP9E6,则输出:CTYPE。
void fun(char *s)
{int i,j=0;char str[100],*p;p=s;
while(*p!='\0')
{if(*p<'0'|| *p>'9')
str[j++]=*p;p++;}str[j]='\0';p=s;
for(i=0;i<j;i++)
p[i]=str[i];p[i]='\0';}
108删除字符串中的所有空格。如:输入asd af aa z67,则输出为asdafaaz67。
int fun (char *str)
{int i,j=0;
for(i=0;str[i]!='\0';i++)
if(str[i]!=' ')str[j++]=str[i];
str[j]='\0';}
109把字符串中的内容逆置。例如:字符串中原有的字符串为abcdefg,则调用该函数后,串中的内容为gfedcba。
fun(char *s)
字符串函数编程题{char ch;int i=0,n;n=strlen(s)-1;
while(i<(n+1)/2)
{ch=s[i];s[i]=s[n];s[n]=ch;
i++;n--;}}
110判断字符串是否为回文?若是则函数返回1,主函数中输出YES,否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。例如,字符串LEVEL是回文,而字符串123312就不是回文。
int fun(char *str)
{int i,n=0,fg=1;char *p=str;
while(*p){n++;p++;}
for(i=0;i<n/2;i++)
if(str[i]==str[n-1-i]);
else{fg=0;break;}return fg;}
111在字符串中的所有数字字符前加一个$字符。例如,输入A1B23CD45,则输出为:A$1B$2$3CD$4$5。
void fun(char *s)
{char p[80];int i=0,j=0;
while(s[i]!='\0')
{if((s[i]>='0')&&(s[i]<='9'))
{p[j]='$';p[j+1]=s[i];j=j+2;}
else {p[j]=s[i];j=j+1;}i++;}
p[j]='\0';strcpy(s,p);}
112统计在tt字符串中'a'到' z'26个字母各自出现的次数,并依次放在pp所指数组中。例如:当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:33322110000000000000000000
void fun(char*tt,int pp[] )
{int i;
for(i=0;i<26;i++)pp[i]=0;
fo
r(;*tt!='\0';tt++)
if(*tt>='a'&&*tt<='z')
pp[*tt-'a']++;}
113统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。
int fun(char *s)
{int i,j=0;
for(i=0;s[i]!='\0';i++)
if(s[i]!=' '&&(s[i+1]==' '||s[i+1]=='\0'))
j++;return j;}
114统计字符串s在字符串str中出现的次数。例如,若输入字符串"12 123 12345"和"23",则应输出2(表示字符串"23"在字符串"12 123 12345"中出现了两次)。若输入字符串"33333"和"33",则应输出4(表示字符串"33"在字符串"33333"出现了四次)。
int MySearch(char* str,char* s)
{char *p;int n=0;
for(;*str;)
if((p=strstr(str,s))!=NULL)
{n++;str=p+1;}
else str++;return(n);}
115统计一个长度为2的字符串在另一个字符串中出现的次数。如假定输入的字符串为asd asasdfg asd as zx67 asd mklo,子字符串为as,则应当输出6。
int fun(char *str, char *substr)
{int i,j=0;
for(i=0;str[i+1]!='\0';i++)
if(str[i]==substr[0]&&str[i+1]==substr[1])
j++;return j;}
116将一个数字字符串转换为一个整数(不得调用字符串函数)。例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。
long fun(char *p)
{long n=0;int flag=1;
if(*p=='-'){p++;flag= -1;}
else if(*p=='+')p++;
while(*p!='\0'){n=n*10+*p-'0';p++;}
return n*flag;}
117将字符串tt中的小写字母都改为对应的大写字母,其它字符不变并返回修改后的字符串。例如:若输入字符串"Ab, cD",则输出字符串"AB, CD"。
char* EXUL(char tt[] )
{for(;*tt;tt++)
if((*tt >= 'a')&&(*tt <= 'z'))
*tt-=32;}
118把字符串中所有的字符前移一个位置,串中的第一个字符移到最后。例如:原有的字符串为:Mn.123xyZ,则调用该函数后,串中的内容为:n.123xyZM。
fun(char *s)
{int i,length;
char tmp;length=strlen(s);
if(length==0)return;tmp=s[0];
for(i=0;i<length-1;i++)
s[i]=s[i+1];s[length-1]=tmp;}
119把字符串中所有的字母改写在该字母的下一个字母,最后一个字母z改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他的字符不变。例如,原有的字符串为:Mn.123xyZ,则调用该函数后,串中的内容为:No.123yzA。
fun(char *s)
{int i,length;length=strlen(s);
for(i=0;i<length;i++)
{if(!((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')))continue;
switch(s[i])
{case 'z':s[i]= 'a';break;
case 'Z':s[i]='A';break;
default:s[i]=s[i]+1;break;}}}
120将字符串ss中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。例如,若输入"abc4EFG",则应输出"aBc4EFG"。
void fun(char *ss)
{int i,n=0;char *p=ss;
while(*p){n++;p++;}
for(i=0;i<n;i++)
if((ss[i]>=’a’&&ss[i]<=’z’)&&(i%2!=0))
ss[i]=ss[i]-32;ss[i]=’\0’;}
121将字符串tt中的每个单词的
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论