用c语言写一个程序来打印大写字母为小写

如题所述

由于在ASCII码表中,大小写分别连续存储,所以相同字母的大小写ASCII差值是固定的32.

利用这一点,可以将大小写转换。

即

大写=小写-32

小写=大写+32

以下函数,实现将字符串中的大写字母打印为小写,其它字符不变的功能。

void my_print(char *str)
{
    int i;
    for(i = 0; str[i]; i ++)//遍历每个字符,直到字符串结束符为止。
        if(str[i] <= 'Z' && str[i]>='A') printf("%c",str[i]+32);
        else putchar(str[i]);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-12

其实就是根据ASCII码值相差就行了,看图:

第2个回答  2015-03-12
#include <stdio.h>
int main()
{
char str[128];
printf("input string: ");
gets(str);
for( i=0;str[i];i++ )
{
if ( str[i] >='A' && str[i]<='Z')
printf("%c", str[i]-'A'+'a' );
else
printf("%c", str[i] );
}
return 0;
}本回答被网友采纳
相似回答