C语言把一个字符串里所有的大写字母换成小写字母,小写字母换成大写字母.其他字符保持

如题所述

/*
*
*可以使用ctype.h中的4个函数
*islower,isupper分别判断是否是小写、大写,toupper,tolower分别转化成大写,小写
*下面给出样例,输入字符串,输出转化后的
*/
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main()
{
char s[100];
int i,len;
gets(s);
len=strlen(s);
for(i=0;i<len;i++)
{
if(islower(s[i]))
s[i]=toupper(s[i]);
else if(isupper(s[i]))
s[i]=tolower(s[i]);
}
printf("%s",s);
return 0;
}
/*
*亲测可用,如有帮助,请及时采纳,谢谢
*/
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-29
先判断,如果它在 A~Z 之间,那加上48变为对应的小写字母;如果在 a~z 之间,那就减去48变为对应的大写字母,否则就不变
第2个回答  2012-11-29
char * strturn(char * res)
{
int i= 0;
while(res[i]!='\0')
{
if(res[i] >='A' && res[i] <='Z')
res[i]+= 32;

if(res[i] >='a' && res[i] <='z')

res[i]-= 32;
i++;
}
return res;
}
第3个回答  2012-11-29
void mytolower(char s[])
{
char *p = s;
while(*p)
if('A'<*p && *p<'Z')
*p = 'a' + *p-'A';
}
相似回答