标题:字母大小写互相转换 ASCII码转化符号问题
只看楼主
cleardark
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-3-13
 问题点数:0 回复次数:15 
字母大小写互相转换 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 
2007-03-13 19:31
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
得分:0 
注意{ }

雁无留踪之意,水无取影之心
2007-03-13 19:33
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
得分:0 

#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);
}
}


雁无留踪之意,水无取影之心
2007-03-13 19:34
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
得分:0 
标题搞什么C++,我还以为跑错地方了呢?

雁无留踪之意,水无取影之心
2007-03-13 19:36
mayudong1
Rank: 2
等 级:论坛游民
威 望:1
帖 子:348
专家分:21
注 册:2006-4-18
得分:0 

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

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


2007-03-13 19:36
cleardark
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-3-13
得分:0 

首先先谢谢大家~~~

#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编辑过]


2007-03-13 19:51
无玩过界
Rank: 1
等 级:新手上路
威 望:2
帖 子:246
专家分:0
注 册:2007-2-20
得分:0 
#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编辑过]


2007-03-13 19:53
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
得分:0 
if(a>='a'&&a<='z')
b=a-32;
else
if(a>'A'&&a<'Z')
b=a+32;

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


雁无留踪之意,水无取影之心
2007-03-13 19:59
无玩过界
Rank: 1
等 级:新手上路
威 望:2
帖 子:246
专家分:0
注 册:2007-2-20
得分:0 
以下是引用无玩过界在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');
}


2007-03-13 20:02
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
得分:0 

我还以为什么问题呢.整个过程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);
}
}


雁无留踪之意,水无取影之心
2007-03-13 20:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-124057-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.120858 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved