字符转换
题目内容:编程利用指针将一个字符串所有大写字母转换成对应小写字母,所有小写字母转换成对应大写字母,其余字符不改变。并分别统计出大写转小写和小写转大写各有多少个字符,用指针作形参带回统计结果。函数原型是void trans (char *s ,int *a,int *b);//其中s指向一个字符串,a和b分别返回大转小和小转大的字符个数。
输入:一个字符串,串长小于80。
输出:第一行输出原串,第二行输出按要求转换好的目标串,第三行和第四行分别输出大转小和小转大的字符个数。
#include <stdio.h>
void trans (char *s,int *a,int *b)
{
int i,m,n;
m=0,n=0;
for(i=0;*(s+i)!='\0';i++)
{
if(*(s+i)>='a'&&*(s+i)<='z')
{
*(s+i)-=32;
m++;
}else if(*(s+i)>='A'&&*(s+i)<='Z')
{
*(s+i)+=32;
n++;
}
}
*a=n;
*b=m;
}
int main()
{
int i=0,j=0;
char str[80];
char *p=trstr;
int *m=&i;
int *n=&j;
printf("input str:");
gets(str);
printf("Soure string:%s",str);
printf("\n");
trans(p,m,n);
printf("Object string:%s\n",str);
printf("upper-->lower:%d\n",i);
printf("lower-->upper:%d\n",j);
return 0;
}