c语言大小写字母转换

#include <stdio.h>
int main(void)
{
int a,b;
scanf("%c",&a);
b=su(a,b);
printf("%c",b);
}
int su(int a,int b)
{
if (a>91) b=a-32;
else b=a+32;
return(b);
} /*有错误吗?为什么无法生效*/

c1的值从键盘输入,也就是你要转换的大写字母,在ASCII码表中,A-Z的ASCII码值是65-90,a-z的ASCII码值是97-122,而且在ASCII码表中,这些字母的ASCII码值也是按顺序排列的,所以你输入c1的值加上32以后正好是它对应的小写字母的ASCII码值,printf("%c,%d\n",c1,c1);中“c%”输出的是c1的字符型值,也就是你从键盘输入的大写的c1,“d%”输出的是它对应的ASCII值,c2同上。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-11-18

你写的这个函数存在问题。参数a以及函数返回值的类型不对。参数b是无用的也不需要。另外函数在使用前没有声明。

#include <stdio.h>
char su(char);
int main(void)
{
char a;
scanf("%c",&a);
printf("%c",su(a));
}
char su(char a)
{
if(a>='A'&&a<='Z') return a+32;
else if(a>='a'&&a<='z') return a-32;
else return '!'; //输入的不是字母时返回错误
}

本回答被网友采纳
第2个回答  2016-11-18
#include <stdio.h>
char su(char a); //函数原型声明
int main(void)
{
char a,b; //改成char型
a=getchar();
b=su(a);
printf("%c\n",b);
return 0;
}
char su(char a)
{
char b;
if(a>='a' && a<='z')
b=a-32;
else if(a>='A' && a<='Z')
b=a+32;
return b;
}

示例运行结果:

a

A

B

b

追问

第一个return 后面是什么

追答

return 0;

本回答被提问者采纳
第3个回答  2016-11-18
#include <stdio.h>
int su(int a,int b);//<========
int main(void)
{
int a,b;
scanf("%c",&a);
b=su(a,b);
printf("%c",b);
}
int su(int a,int b)
{
if (a>91) b=a-32;
else b=a+32;
return(b);
}

第4个回答  2016-11-18
scanf("%d",&a);
printf("%c",a);
由于scanf输入%c是不行的,可以考虑getchar函数。

用c语言编程,输入一个字符,若是小写字母,转换为大写输出,若是大写字母...
{ 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="点击查看大图"class="ikq...

C语言大写字母转换为小写字母,并输出程序
有三种方式可以解决c语言大小写字母的转换 1.使用C语言提供的函数:toupper(),tolower()使用这两个函数需要引入头文件:#include<ctype.h> 示例代码:输入如下 2.自己编写转换函数:因为大小写之间的ASCII码值的差值是固定的,因此可以使用‘a’-‘A’来获取差值。实例代码:输出如下:3.异或0x20来实...

用C语言实现字母大小写转换
用C语言实现字母大小写转换的多种方法C语言提供了多种途径处理字符大小写转换,以下是其中的三种实用技巧:首先,利用内置函数法:通过标准库函数toupper()和tolower(),可以轻松地将字母从一种形式转换为另一种。在代码中,只需包含合适的头文件,如`#include `,然后调用函数即可实现。其次,ASCII码转...

用c语言编程,输入一个字符,若是小写字母,转换为大写输出,若是大写字母...
要实现用C语言编程,根据输入字符的大小写进行转换,可以参考以下代码片段:include<stdio.h>intmain(){charx,y;printf("请输入一个字母:");scanf("%c",&x);if(x>='a'&&x='A'&&x 这个代码在DEVC++环境下运行,会根据输入的字符自动进行大小写的转换。理解其工作原理的关键在于ASCII码,其中...

c语言中大写字母怎么转换成小写的呢?
B 小写a 就是一个三目运算+大小写转换 ch=(ch>='A'&&ch<='Z')?(ch+32):ch;等同于if (ch>='A'&& ch<='Z'){ ch =ch+32; \/\/大写字母转小写}else{ ch = ch; \/\/}

C语言大小写字母转换
C语言中的大小写字母转换其实基于ASCII码的简单加减运算。ASCII码是一种7位或8位二进制编码系统,它为256个字符,包括字母、数字和特殊符号,分配了唯一的数值。对于字母来说,小写字母的ASCII码范围是从97('a')到122('z'),对应大写字母的ASCII码则是将小写字母的数值减去32,从而变为65('A'...

字母大小写转换c语言
字母大小写转换c语言:在C语言中,小写字母转换为大写字母的方法是将小写字母的ASCII码值减去32(例:A=a-32);大写字母转换为小写字母的的方法是将大写字母的ASCII码值加上32(例:a=A+32)即可。大小写字母之间的ASCll码值之间相差了32,那么我们就可以利用这个差值,对大小写字母进行转化,下面我们就...

C语言编写大小写转换的程序?
C语言的编写如下:include <stdio.h> include <stdlib.h> void main (){ char c1,c2; \/\/ 定义两个字符c1,c2 printf("请输入大写字母的值!\\n"); \/\/输出你输入的那个大写字母以及它的ASCII c1=getchar( ); \/\/从键盘输入一个大写字母,放在c1 c2=c1+32; \/\/将大写的转换成小写...

怎么用c语言编写判断大小写字母并把小写改为大写并输出的程序。_百度...
include <stdio.h>int main(){ char temp; scanf("%c",&temp); if (temp >= 'a' && temp <= 'z') { printf("你输入的是小写字母:%c,转换为大写字母为:%c\\n", temp, temp-32); } else printf("你输入的是大写字母:%c\\n",temp); return 0;} ...

c语言中的大小写转换代码
代码如下:include<stdio.h>int main(){char a; printf("请输入一个大写英语字母:");scanf("%c",&a);printf("转换成小写字母为%c",a+32);} 运行结果如下:

相似回答