您的位置:首页 > 其它

大小写转换

2015-07-26 15:55 330 查看
Description 输入一数字,用其控制一个数组的长度,而后将数组中的小写字母转换成大写字母,大写字母转换成小写字母,其余字符不变。

Input 连续输入多个测试数据:输入的第一行为一个整数n,接下来有一个由n个字符组成的字符串输入0控制程序结束。

Output 每一行输出一组测试数据对应的结果,依次输出转换后的字符串。

Sample Input 10 ASXZXCaz-+

10 azsx90AZKJ 0

Sample Output asxzxcAZ-+

AZSX90azkj

用toupper与tolower函数时,若使用字符函数在用头文件ctype.h,若使用字符串函数则要包含头文件string.h

----------------------------------------------------------------------------------------------------

#include<stdio.h>

#include<ctype.h>

int main()

{

int n,i;

char a[1000];

while((scanf("%d",&n)!=EOF)&&(n!=0))

{

scanf("%s",&a);

for(i=0;i<n;i++)

{

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

a[i]=toupper(a[i]);

else if('A'<=a[i]&&a[i]<='Z')

a[i]=tolower(a[i]);

}

for(i=0;i<n;i++)

{

printf("%c",a[i]);

}

printf("\n");

}

return 0;

}

===============================================================================================

只能进行字母之间的交换,其他的做不了,是因为在把a[i]的值输入时其他字符并不属于char型(错)

#include<stdio.h>

#include<ctype.h>

int main()

{

int n,i;

char a[1000];

while((scanf("%d",&n)!=EOF)&&(n!=0))

{

for(i=0;i<n;i++)

{

scanf("%c",&a[i]);

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

a[i]=toupper(a[i]);

else if('A'<=a[i]&&a[i]<='Z')

a[i]=tolower(a[i]);

else;

}

for(i=0;i<n;i++)

{

printf("%c",a[i]);

}

}

printf("\n");

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: