c语言,输入一个字符,判断它是否是小写字母,如果是则输出大写字母,否则原样输出

我编的程序如下;
#include<stdio.h>
main()
{ char a;
printf("请输入一个字符:\n");
scanf("%c",&a);
if(a>='a'&&a<='z')
{a=a-32;
printf("%c",a);
}
else if(a>='A'&&a<='Z')
printf("%c",a);
getchar();getchar();
}
其中是a=a-32错的,但我不知道为什么错,如果输入的是小写的字母,难道它的ASCII码值减32不是等于大写字母的ASCII码值吗?
但是如果这个语句改为a=a-('a'-'A'),就是对的,为什么?'a'-'A'不就是等于32吗?

第1个回答  2012-12-26
对照asclll码,用if语句判断
第2个回答  2012-12-26
表示我运行的结果是对的
第3个回答  2012-12-26
你用的什么?我用的visual studio 2012,正常编译,正常运行,代码没问题。可能和编译器有关系吧,我也是新手,不是很懂
第4个回答  2012-12-26
我到底还是没有看出哪错了
拿着源码测试了全部字母
第5个回答  2012-12-26
没什么问题啊。在visual studio 2008中运行都是好的呀

用c语言编程,输入一个字符,若是小写字母,转换为大写输出,若是大写字母...
intmain(){ charx,y;printf(请输入一个字母:);scanf(%c,x);if(x=ax=z)y=x-32;if(x=Ax=Z)y=x+32;printf(转换后的字符为:%c\\n,y);} 代码在DEVC++环境下运行效果如下:\/iknow-pic.cdn.bcebos.com\/e4dde71190ef76c6732564659016fdfaae51678d"target="_blank"title="点击查看大图"...

用c语言编程,输入一个字符,若是小写字母,转换为大写输出,若是大写字母...
scanf("%c", x);if (x >= 'a' && x <= 'z') { y = x - 32; \/\/ 小写字母转换为大写 } else if (x >= 'A' && x <= 'Z') { y = x + 32; \/\/ 大写字母转换为小写 } else { printf("输入的不是字母!\\n");return 1; \/\/ 非字母字符,程序退出 } printf("转换...

...从键盘输入一串字符,判定它是否是小写字母,如果是,则将它转换成大写...
include<stdio.h>int main(){int i,num;char arr[100]="\\0";num = 'a' - 'A';printf("请输入一个字符串:");scanf("%s",arr);\/\/ 下面是方法一,单独输出每个字符 printf("修改后的字符串是:");for (i=0; arr[i]!='\\0'; i++)if (arr[i]>='a' && arr[i]<='z')...

判断一个字符串是否是首字母大写且非首字母小写。 c语言编程
可写一个子函数来进行判断,首先判断首字母是否为小写字母,如果是,则不满足条件,函数返回0.之后,循环判断后续字母,若其为大写字母,则函数返回0.最后,若函数没有返回,则说明字符串满足条件,函数返回1.代码如下:include <string.h>int check(char *str){int i;if (str[0] < 'A' || st...

用C语言编写程序:输入一个字符,判断它是否是小写字母.如果是,将其转换...
include"stdio.h"main(){ char a;printf("请输入一个字符:\\n");scanf("%c",&a);if(a<='z'&&a>='a')printf("%c-->%c",a,a-32);else printf("%c不是小写字母\\n",a);}

用c语言编程输入一个字符若是小写字母转换为大写输出若是大写字母转换为...
下面是一个简单的C语言程序示例,用于实现您所描述的功能:检查用户输入的字符,如果是小写字母则转换为大写字母输出,如果是大写字母则转换为小写字母输出。如果输入的字符既不是大写字母也不是小写字母,则直接输出该字符。```c include include \/\/ 引入字符处理库 int main() { char ch;printf("...

c语言,输入一个字符,判断它如果是小写字母输出其对应大写字母
include<stdio.h> void main(){ char ch;ch=getchar();if(ch>='A'&&ch<='Z'){ printf("为大写字符\\n");} else if(ch>='a'&&ch<='z'){ printf("为小写字符\\n");} }

输入一个字母,若是小写字母,则变为大写输出,否则,原样输出, 用c语言...
int main() { char c; printf("输入一个字母:"); scanf("%c", &c); if('a'<=c && c<='z') { c += 32; printf("大写字母是:%c", c); } else if('A'<=c && c<='Z') { printf("你输入的已经是大写字母了:%c", c); } ...

C语言编程,输入一个字符,如果是小写字母,则把他变成大写,如果是大写字 ...
思路:判断一个字符是大写字母还是小写字母可以直接字符比较或者ASCII码值比较,根据大写字母和其对应小写字母的ASCCII值相差32,可以加减32实现互换。参考代码:include "stdio.h"int main(){char ch;ch=getchar();if(ch>='a'&&ch<='z') ch-=32;else if(ch>='A'&&ch<='Z') ch+=32;put...

...为c语言程序:输入一个字符,判断如果是小写字母,则将其转换为大写字母...
printf("%c\\n",a);} } 第二个 include<stdio.h> void main(){ int a;scanf("%d",&a);if(a%2==0){ printf("偶数\\n");} else { printf("奇数\\n");} } 第三个把第二个的判断条件换成大于5,自己搞去。第四个 include<stdio.h> int main(){ char a;int x=20,y=30,s...

相似回答