学校刚开始学C语言,自己写了一个大小写字母互相转换的程序,但不知道为什么不能运行 ,以下是代码:

#include<stdio.h>
void main()
{
char c1,c2;
int a1,a2;
scanf("%c",&c1);
a1=‘c1’;
if (a1>=65,a1<=90) a2=a1+32;
if (a1>=97,a2<=122) a2 =a1-32;
'c2'=a2;
printf("%c\n",2);
}
自己分不多,所以没能给分,望各位高手帮忙啊!
PS 去掉倒数第三行的c2的‘’能运行,但不能转换大小写。
倒数第二行的2为c2

虽然已采纳答案,但也想说几点。
1、字符型常量可以加减,并且是它的ASCII码的运算。从c1:A转为c2:a ,可以用c1直接加32.
2、字符弄常量赋值给整型常量也是用变量名即可。
如上是 a1=c1就行了,不要加' '号
3、使用字符型常量时可用其特色的getchar(输入)、putchar(输出)。更简洁美观。
如以下参考:

#include<stdio.h>
void main()
{
char c;
c=getchar();
if('A'<=c&&c<=Z')
putchar(c+32);
if('a'<=c&&c<='z')
putchar(c-32);
printf("\n");
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-15
void main(void){
char c1,c2;
int a1,a2;
scanf("%c",&c1);
a1='c1';//改成a1=c1
if (a1>=65 , a1<=90) a2=a1+32;//把,改成&&
if (a1>=97 , a2<=122) a2=a1-32;//把,改成&&
‘c2’=a2;//改成c2=a2
printf("%c\n",c2);//把2改c2
}
保证OK。本回答被网友采纳
第2个回答  2012-10-15
#include<stdio.h>
void main()
{
char c1,c2;
char a1,a2; //改了这里
scanf("%c",&c1);
a1=c1; //改了这里
if (a1>=65 && a1<=90) a2=a1+32; //改了这里
if (a1>=97 && a2<=122) a2 =a1-32; //改了这里
c2=a2; //改了这里
printf("%c\n",c2); //改了这里
}
第3个回答  2012-10-15
#include"stdio.h"
void main()
{
char c;
scanf("%c",&c);

if(c>=65&&c<=90)
c=c+32;
else if(c>=97&&c<=122)
c=c-32;
printf("%c",c);
}
你的程序思路还是不清楚,用不着整形与字符型相互转化,倒数第三行不应该加引号,正数第七行也不加引号,建议加深一下对char型的理解追问

嗯 去看过了。好像是把一个字符常量赋值给一个字符变量与整型变量是需要加''.

本回答被提问者采纳
第4个回答  2012-10-15
#include<stdio.h>
int main(void)
{
char c1,c2, a1,a2;
scanf("%c",&c1);
a1=c1;
if ((a1>=65)&&(a1<=90))
a2=a1+32;
if((a1>=97)&&(a2<=122))
a2 =a1-32;
c2=a2;
printf("%c\n",c2);
return 0;
}
学习嘛,慢慢来

学校刚开始学C语言,自己写了一个大小写字母互相转换的程序,但不知道为...
1、字符型常量可以加减,并且是它的ASCII码的运算。从c1:A转为c2:a ,可以用c1直接加32.2、字符弄常量赋值给整型常量也是用变量名即可。如上是 a1=c1就行了,不要加' '号 3、使用字符型常量时可用其特色的getchar(输入)、putchar(输出)。更简洁美观。如以下参考:include<stdio.h> void mai...

小白求C语言大神解释,为什么这个大小写转换的程序不起作用?
可以的啊!include<stdio.h>#include<stdlib.h>int ToLower(int c);int main(void){ char str[81]; int i=0; puts("Please input a string:"); gets(str); while(str[i]!='\\0') { str[i]=ToLower(str[i]); i++; } printf("%s\\n",str); ...

C语言 大小写转换 有问题么下面程序 可以运行 但无法实现
include "stdio.h"int main(){char letter = 0;printf("请输入要转换的大写字母:");scanf_s("%c", &letter,1);\/\/这里加上1,表示输入一个字符,scanf_s在输入字符,字符串时要指定位数if (letter >= 'A'){\/\/\/if (letter <= 'Z'){letter = letter - 'A' + 'a';printf("转化...

C语言编写一个转换大小写
要转换 首先你要知道这个字符是大写还是小写,也就是判断。判断出来之后,才可以转。大写的A是0x41 小写的a是0x61, 所以 相同字符大小写之间相差0x20,这个如果记不住,就直接用'a'-'A'可以这样写:include <stdio.h>#define DAXIE(x) (x>='A' && x<='Z') \/\/判断是大写字符。#define ...

才是刚学习c语言的,老师说让做个大小写转换的程序。请大家看一下我出 ...
printf("please input:\\n");scanf("%c",&c1);if(c1>='a'&&c1<='z'){ c2=c1+'A'-'a';} else if(c1>='A'&&c1<='Z'){ c2=c1+'a'-'A';} else printf("wrong\\n");printf("%c\\n",c2);} 说你个不好习惯 首先引用系统头文件应该用<>,虽然“”也可以。另外写程序要...

C语言大小写字母转换问题,高手来教我 谢谢!
你犯了一个概念错误,你这里是把变量名当作字符去转换,当然不会成功,这个函数转换的是字符类型变量中的内容 应该把 int Y 改成 char Y = 'Y'

C语言,关于大小写字母的转换问题
下图就是只输入一个回车键的情况!你应该是想输入多个字符吧!你可以像下面的网友那么改不改也可以的!你正常的输入应该是输入完字符后再输入了回车键,那么不加c=getchar()的话c就不可能等于'\\n'因为c只能读取一个字符读取的是你输入的第一个字符不是回车键!所以程序会陷入死循环!

如何用C语言写一个字母大小写转换的程序
void main(){ char c;scanf("%c",&c);  \/\/输入一个字母。if ((c>='A')&&(c<='Z')) c+=32;\/\/判断是否为大写字母,是则转换为小写字母。else if((c>='a')&&(c<='z')) c-=32;\/\/否则判断是否为小写字母,是则转换为大写...

c语言编写一个大小写转换的程序,编译,else那行显示expected expression...
include <stdio.h> include <ctype.h> int main(int argc, constchar * argv[]){ char alphabet;printf("Enter an alphabet");putchar('\\n');alphabet=getchar();if (islower(alphabet))\/\/;\/\/多了这个分号 putchar(toupper(alphabet));else putchar(tolower(alphabet));} ...

c语言编程题字符串中大小写字母的互换,其余字符不变。
首先你有个字符串str,并且不是常量的,因为常量不能操作 char*p = str;while(*p != '\\0'){ if(*p >='a'&& p<='z'){ p = p - 'a'+ 'A';} else if(*p >='A'&& p<='Z'){ p = p - 'A'+ 'a';} p++;}

相似回答
大家正在搜