标题:字母大小写互相转换 ASCII码转化符号问题
只看楼主
cleardark
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-3-13
得分:0 


#include <stdio.h>
void mail()
{
char a,b;
a=getchar();
if(a>='a'&&a<='z')
b=a-32;
printf("\n %c",b);
else
if(a>'A'&&a<'Z')
b=a+32;
printf("\n %c",b);
}

--------------------Configuration: 大小写字母转换 - Win32 Debug--------------------
--------------------Configuration: 大小写字母转换 - Win32 Debug--------------------
Compiling...
大小写字母转换.cpp
C:\Documents and Settings\Administrator\My Documents\作业\大小写字母转换.cpp(9) : error C2181: illegal else without matching if
Error executing cl.exe.

大小写字母转换.exe - 1 error(s), 0 warning(s)


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

--------------------Configuration: 大小写字母转换 - Win32 Debug--------------------
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/大小写字母转换.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

大小写字母转换.exe - 2 error(s), 0 warning(s)

还是不可以哦??能不能只输入1个任意字母转换为另一大小写形式呢?


2007-03-13 20:23
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
1.if else不匹配.
2.应该是b=(int)a;

倚天照海花无数,流水高山心自知。
2007-03-13 20:32
无玩过界
Rank: 1
等 级:新手上路
威 望:2
帖 子:246
专家分:0
注 册:2007-2-20
得分:0 
#include<stdio.h>
int main()
{
char c;
c=getchar();
if(c>='a'&$&c<='z')
printf("%c",c-32);
else
if(c>='A'&&c<='Z')
printf("%c",c+32);
return 0;
}

2007-03-13 20:35
cleardark
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-3-13
得分:0 
#include <stdio.h>
void main()
{
char a;
int b;
printf("请输入一个字母:");
a=getchar();
fflush(stdin);
b=int(a);
if (b>96)
{
printf("\n字母转换为%c\n",a-32);
}
else
{
printf("\n字母转换为%c\n",a+32);
}
}
好了 谢谢大家

2007-03-13 22:49
cleardark
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-3-13
得分:0 
以下是引用cleardark在2007-3-13 19:31:45的发言:

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

#include <stdio.h>
void main()
{
char a,c;
int b;
printf("请输入一个字母:");
a=getchar();
fflush(stdin);
b=int(a);
if (b>97) /*在ASCII码表中a~z 为97~122,A~Z为65~90 如果取为97的话就要从98开始算起了*/

c=a-32
;/*c的值为改变后的值,而不是a*/
printf("\n字母转换为%c",a);/*输出还是原来a的值为改变后的值,而不是改变后c的值*/
else
c=a+32;/*c的值为改变后的值,而不是a*/
printf("\n字母转换为%c",a);/*输出还是原来a的值为改变后的值,而不是改变后c的值*/
}

提示:--------------------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 23:13:41编辑过]


2007-03-13 22:56
cotwin
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-12-21
得分:0 
以下是引用cleardark在2007-3-13 19:31:45的发言:

#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-3-14 13:57:43编辑过]

2007-03-14 13:56



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




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

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