当前位置: 代码迷 >> C语言 >> 字母大小写互相转换 ASCII码转化符号问题
  详细解决方案

字母大小写互相转换 ASCII码转化符号问题

热度:182   发布时间:2007-03-13 19:31:45.0
字母大小写互相转换 ASCII码转化符号问题

请问在c语言中 字母大小写互相转换怎么编写?
请问为什么

#include <stdio.h>
void main()
{
char a,c;
int b;
printf("请输入一个字母:");
a=getchar();
fflush(stdin);
b=int(a);
if (b>97)
c=a-32;
printf("\n字母转换为%c",a);
else
c=a+32;
printf("\n字母转换为%c",a);
}

提示:--------------------Configuration: 大小写字母转换 - Win32 Debug--------------------
Compiling...
大小写字母转换.cpp
c:\documents and settings\administrator\my documents\作业\大小写字母转换.cpp(13) : error C2181: illegal else without matching if
Error executing cl.exe.

请问正常应该怎样编写呢?

请问在c语言中 ASCII码应该如何为转化符号呢?

请高手予以回答 谢谢

[此贴子已经被作者于2007-3-13 20:24:49编辑过]

搜索更多相关的解决方案: 字母大小写  ASCII  符号  quot  printf  

----------------解决方案--------------------------------------------------------
注意{ }
----------------解决方案--------------------------------------------------------

#include <stdio.h>
void main()
{
char a,c;
int b;
printf("请输入一个字母:");
a=getchar();
fflush(stdin);
b=int(a);
if (b>97)
{
c=a-32;
printf("\n字母转换为%c",a);
}
else
{
c=a+32;
printf("\n字母转换为%c",a);
}
}


----------------解决方案--------------------------------------------------------
标题搞什么C++,我还以为跑错地方了呢?
----------------解决方案--------------------------------------------------------

把输入的字母与0x0020按位异或就可以变成对应的大写或小写了

[此贴子已经被作者于2007-3-13 22:58:09编辑过]


----------------解决方案--------------------------------------------------------

首先先谢谢大家~~~

#include <stdio.h>
void main()
{
char a,c;
int b;
printf("请输入一个字母:");
a=getchar();
fflush(stdin);
b=int(a);
if (b>97)
{
c=a-32;
printf("\n字母转换为%c",a);
}
else
{
c=a+32;
printf("\n字母转换为%c",a);
}
}

当输入a时 输出还是a
输入B时 输出还是B
知道了字母英文小写转换大写为

#include <stdio.h>
void mail()
{
char a,b;
printf("\n请输入一个小写字母:");
a=getchar();
fflush(stdin);
b=a-32; //转换大写
printf("\n 相应大写字母为:");
putchar(b);
putchar('\n');
}

字母英文大写转换小写为

#include <stdio.h>
void mail()
{
char a,b;
printf("\n请输入一个大写字母:");
a=getchar();
fflush(stdin);
b=a+32; //转换小写
printf("\n 相应小写字母为:");
putchar(b);
putchar('\n');
}

请问能否直接输入‘任意一个大小写字母’,就能转换为另一种大小写呢?

[此贴子已经被作者于2007-3-13 20:03:01编辑过]


----------------解决方案--------------------------------------------------------
#include <stdio.h>
void mail()
{
char a,b;
printf("\n请输入一个大写字母:");
a=getchar();
fflush(stdin);
b=a+32; //转换小写
printf("\n //相应小写字母为:");
putchar(b);
b=a-32; //转换大写
printf("\n 相应大写字母为:");
putchar(b);

b=int(a);
if (b>97)
{
c=a-32;
printf("\n字母转换为%c",a);
}
else
{
c=a+32;
printf("\n字母转换为%c",a);
}

putchar('\n');
}

[此贴子已经被作者于2007-3-13 19:55:38编辑过]


----------------解决方案--------------------------------------------------------
if(a>='a'&&a<='z')
b=a-32;
else
if(a>'A'&&a<'Z')
b=a+32;

[此贴子已经被作者于2007-3-13 20:00:01编辑过]


----------------解决方案--------------------------------------------------------
以下是引用无玩过界在2007-3-13 19:53:36的发言:
#include <stdio.h>
void mail()
{
char a,b;
char c;
printf("\n请输入一个大写字母:");
a=getchar();
fflush(stdin);
b=a+32; //转换小写
printf("\n //相应小写字母为:");
putchar(b);
b=a-32; //转换大写
printf("\n 相应大写字母为:");
putchar(b);

b=int(a);
if (b>97)
{
c=a-32;
printf("\n字母转换为%c",a);
}
else
{
c=a+32;
printf("\n字母转换为%c",a);
}

putchar('\n');
}


----------------解决方案--------------------------------------------------------

我还以为什么问题呢.整个过程a就没变过,你输出a肯定不能得到要的结果,输出c

#include <stdio.h>
void main()
{
char a,c;
int b;
printf("请输入一个字母:");
a=getchar();
fflush(stdin);
b=int(a);
if (b>97)
{
c=a-32;
printf("\n字母转换为%c",c);
}
else
{
c=a+32;
printf("\n字母转换为%c",c);
}
}


----------------解决方案--------------------------------------------------------
  相关解决方案