C语言编写一个大小写字母转换的程序

如题,要求从键盘输入一个字符,若字符为大写则转换为小写输出,若字符为小写则转换为大写输出~若为其他则原样输出

#include <stdio.h>

#define DAXIE(x) (x>='A' && x<='Z') //判断是大写字符。

#define XIAOXIE(x) (x>='a' && x<='z') //判断是小写字符。

#define ZHUANXIAOXIE(x) (x-'A'+'a')//转为小写

#define ZHUANDAXIE(X) (x-'a'+'A')//转为大写 

int main()

{

char str[100];

int i;

gets(str);

for(i = 0; str[i]; i ++)

if(DAXIE(str[i])) str[i] = ZHUANXIAOXIE(str[i]);//如果是大写字符,转为小写。

else if(XIAOXIE(str[i])) str[i] = ZHUANDAXIE(str[i]);//如果是小写字符,转为大写。     

puts(str);//输出结果         return 0;

}

扩展资料

C语言的基本构成

1、任何一个c语言程序都必须包括以下格式:

main()
{   }

这是c语言的基本结构,任何一个程序都必须包含这个结构。括号内可以不写任何内容,那么该程序将不执行任何结果。

2、main()----在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。

3、被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容。

4、在{  }里面每一句话后面都有一个分号(;),在c语言中,我们把以一个分号结尾的一句话叫做一个c语言的语句,分号是语句结束的标志。

5、printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); ----通过执行这条c语言系统提供给我们直接使用的屏幕输出函数,用户即可看到运行结果,本程序运行后,将在显示器上显示如下结果:

a=20,b=15,sum=35

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-19

C语言实现如下:

#include<stdio.h>
#include<stdlib.h>
void main()
{
char c;
scanf("%c",&c);  //输入一个字母。
if ((c>='A')&&(c<='Z')) c+=32;
//判断是否为大写字母,是则转换为小写字母。
else if((c>='a')&&(c<='z')) c-=32;
//否则判断是否为小写字母,是则转换为大写字母。
else    //否则,该字符不是字母,则输出“该字符不是字母”并结束程序。
{
printf("该字符不是字母\n");
exit(0);
}
printf("%c\n",c);  //输出转换后的字母字符。
}

第2个回答  2010-04-18
#include<stdio.h>
void main()
{char x='a';

printf("输入x:\n");
scanf("%c",&x);
if( x>='A' && x<='Z')
{
x=x+32; /*是大写,转换为小写 ,至于为什么要+32吗,请看看
大小写字母的ASCII码差值*/
}
else
if( x>='a' && x<='z')
{
x=x-32; /*是小写,转换为大写*/
}
/*其它不用理*/
printf("%c\n",x);
}本回答被提问者采纳
第3个回答  2018-05-07

调用toupper()函数

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void toupper(char ch)
{
 if (ch >= 'a'&&ch <= 'z')
 {
  printf("%c\n", ch - 32);
 }
 else
 {
  printf("%c\n", ch + 32);
 }
}
int main()
{
    char ch;
 scanf("%c", &ch);
 toupper(ch);
 system("pause");
 return 0;
}

/*
* 将大写字母转换为小写字母
*/
#include <stdio.h>
int lower(int c)
{
 return ((c>='A')&&(c<='z'))?(c+'a'-'A'):(c);
}
main()
{
 int i;
 char a[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 for(i=0;i<26;i++){
  printf("%c result is %d ------ %c\n",a[i],lower(a[i]),(char)lower(a[i]));
 }
}

本回答被网友采纳
第4个回答  2019-10-28
C语言实现如下:
#include<stdio.h>
#include<stdlib.h>
void main()
{
char c;
scanf("%c",&c); //输入一个字母。
if ((c>='A')&&(c<='Z')) c+=32;
//判断是否为大写字母,是则转换为小写字母。
else if((c>='a')&&(c<='z')) c-=32;
//否则判断是否为小写字母,是则转换为大写字母。
else //否则,该字符不是字母,则输出“该字符不是字母”并结束程序。
{
printf("该字符不是字母\n");
exit(0);
}
printf("%c\n",c); //输出转换后的字母字符。
}
相似回答