关于C语言中大小写字母转换的问题!急呐!!各位大虾帮帮忙

作者&投稿:迪霄 (若有异议请与网页底部的电邮联系)
C语言中大小写字母转换的算法是怎么样的~

不用算法,直接有函数可以转。
#include
a = tolower(a); //如果a是大写,那么转换为小写
a = toupper(a); //转大写的

73和74题都是逗号表达式的运算:
73题选择C.32
74题选择B.8

75题选择C.3*pow(x,n)*(1/(2*x-1))
76题选择A.1
77题选择A.0
78题选择A.x/y*z
79题选择D.(c>=’a’) &&(c<=’z’)
80题选择A.%=
81题选择C.65【65对应字母'A'】
82题选择B.并不给出出错信息,但得不到正确的数据
83题选择C. a=4,b=9.50
84题选择A. a=2, b=1
85题选择B. 6
源程序有错,需要把for (i=p;i<9;i++)
p[i]=i+1;
改为for (i=0;i<9;i++)
p[i]=i+1;

#include
<stdio.h>
#include
<ctype.h>
char
fun(char
c)
{
if(
c>='A'
&&
c<='Z')
/**************found**************/
c=c+32;
/*改为加号*/
if(c>='a'
&&
c<='u')
/**************found**************/
c=c+5;
/*改为加号*/
else
if(c>='v'&&c<='z')
c=c-21;
return
c;
}
int
main(void)
{
char
c1,c2;
printf("\nEnter
a
letter(A-Z):(|
to
quit)\n
");
while(scanf("%c",&c1)
==
1
&&
c1
!=
'|')/*改为用scanf函数读取输入,因为getchar会读取换行符并保存,如你输入“A
回车“它就读取A
+
‘\n’所以没有正确的输出*/
{
if(
isupper(
c1
)
)
{
c2=fun(c1);
printf("\n\nThe
letter
\'%c\'
change
to
\'%c\'\n",
c1,c2);
}
else
printf("\nEnter
(A-Z)!\n");
}
}
我做了部分修改
重点部分家了注释
你看看吧
呵呵
经过了编译
没错误是肯定的
但程序的友好性不完美
但比源程序要好

#include <stdio.h>
#include <ctype.h>
char fun(char c)
{
if( c>='A' && c<='Z')
/**************found**************/
c=c+32; /*改为加号*/
if(c>='a' && c<='u')
/**************found**************/
c=c+5; /*改为加号*/
else if(c>='v'&&c<='z')
c=c-21;
return c;
}
int main(void)
{
char c1,c2;

printf("\nEnter a letter(A-Z):(| to quit)\n ");
while(scanf("%c",&c1) == 1 && c1 != '|')/*改为用scanf函数读取输入,因为getchar会读取换行符并保存,如你输入“A 回车“它就读取A
+ ‘\n’所以没有正确的输出*/
{
if( isupper( c1 ) )
{
c2=fun(c1);
printf("\n\nThe letter \'%c\' change to \'%c\'\n", c1,c2);
}

else printf("\nEnter (A-Z)!\n");
}
}
我做了部分修改 重点部分家了注释 你看看吧 呵呵 经过了编译 没错误是肯定的 但程序的友好性不完美 但比源程序要好

#include <stdio.h>
#include <ctype.h>
char fun(char c)
{
if( c>='A' && c<='Z')
/**************found**************/
c=c+32; //这里是+号,ASC表里先大写再小写的
if(c>='a' && c<='u')
/**************found**************/
c=c+5; //同理
else if(c>='v'&&c<='z')
c=c-21;
return c;
}
void main()
{
char c1,c2;
printf("\nEnter a letter(A-Z): "); c1=getchar();
if( isupper( c1 ) )
{
c2=fun(c1);
printf("\n\nThe letter \'%c\' change to \'%c\'\n", c1,c2);
}
else printf("\nEnter (A-Z)!\n");
}

char fun(char c)
{
if( c>='A' && c<='Z')

c=c-32;
else if(c>='a' && c<='u') /*注意这里*/
c=c+5; /*注意这里*/
if(c>='v'&&c<='z') /*注意这里*/
c=c-21;
return c;
}

C中 可以把字符当作整数来看~~


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

C语言中字母大小写怎么转换?
在ASC码中,大小写字符分别连续存储。所以,相同字符的大小写差值是相同的,这个差值是十进制的32。在不记得这个差值的情况下,可以用'a'-'A'来表示。于是,大写转为小写,可以写作 c = c-('A'-'a');或 c = c+32;小写转为大写,可以写作 c = c-('a'-'A');或 c=c-32;

C语言字符大小写怎么转换?
include "stdio.h"include "string.h"void inv(char *s){ int i;for(i=1;i<=strlen(s);i++){ if(*(s+i)>=65 && *(s+i)<=92)(s+i)+=32;else if (*(s+i)>=97 && *(s+i)<=122)(s+i)-=32;} } void main(){ char *string;gets(string);inv(*string);puts(...

c语言 求解答
C 语言中的字符本质上是一个数字,通过一张 ASCII 表来确定字符和数字的对应关系:根据这个表得到字母的规律:小写字母 a-z 从 97 到 122 大写字母 A-Z 从 65 到 90 对同一个字母,小写字母比大写字母多 32 有了这个三个规律,对于一个输入的字符,我们的算法就出来了:如果一个字符的值在 ...

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];in...

c语言中, 英文字母的大小写的转换,请给我详细讲解一下,(以下下面这个...
虽然我不是很明白你具体想说什么,但是我可以给你解释一下C语言中大小写转换主要就是利用ASCII代码中,大小写相差32的原理,其程序为:include<stdio.h> int main(){ char c1,c2; \/\/ 定义两个字符c1,c2 c1=getchar(); \/\/从键盘输入一个大写字母,放在c1 printf("%c,%d\\n",c1,c1)...

C语言中大小写字母转换的算法是怎么样的
这个程序的算法思想就是ASCII码的转化,ASCII代码中一个字母的小写字母比他相应的大写字母的ASCII码大32,c语言允许字符数据与整数直接进行算术运算 main(){char c1,c2;c1='a';c2='b';c1=c1-32;c2=c2-32;printf("%c,%c",c1,c2);} ...

c语言如何将大写字母转小写,并输出?
在C语言中,可以使用标准库函数tolower()来将大写字母转换成小写字母。tolower()函数的原型定义在<ctype.h>头文件中,其函数签名如下:该函数接受一个字符参数c,并将其转换成小写字母后返回。如果c不是大写字母,则该函数返回c本身。下面是一个示例程序,它从标准输入中读取一行文本,将其中的大写字母...

c语言,输入一个字母(不论大小写),均能转换成相对应的大小写字母?
根据ASCII码表可以知道,大写字母是65到90,小写字母是97到112。如果你想用比较简单易懂的程序写出这个功能的话,那就利用ASCII码表,如下:include <stdio.h> int main(){ char c;scanf("%c",&c);if(c>=97)printf("%c",c-32);else printf("%c",c+32);return 0;} ...

c语言编程字母大小写转换题
include <stdio.h> main(){ char ch1,ch2;\/\/ clrscr(); printf("请输入一个小写字母:"); ch1=getchar(); ch2=ch1-32; (ch1>='a'&& ch1<='z')?putchar(ch2):printf("输入出错!");}

阜新市18443297866: 关于C语言中大小写字母转换的问题!急呐!!各位大虾帮帮忙 -
撒宗西吡: #include <stdio.h> #include <ctype.h> char fun(char c) {if( c>='A' && c<='Z') /**************found**************/c=c+32; /*改为加号*/ if(c>='a' && c<='u') /**************found**************/c=c+5; /*改为加号*/ else if(c>='v'&&c<='z')c=c-21;return c; } ...

阜新市18443297866: c语言中怎样将大写字母转化为小写字母 -
撒宗西吡: 1、char ch= 'a'; ch-= 32;2、 strupr原型:extern char *strupr(char *s);用法:#include <string.h>功能:将字符串s转换为大写形式说明:只转换s中出现的小写字母,不改变其它字符.返回指向s的指针.举例:// strupr.c#include <syslib.h...

阜新市18443297866: C语言 输入一串字母大小写转换 -
撒宗西吡: #include<stdio.h> #include<string.h>int main(void) {char acWords[1024];char cWord;int i, iSize;printf("%s\n", "请输入需要大小写转换的一串字母:");scanf("%s", acWords);iSize = strlen(acWords); for(i=0; i<iSize; i++){...

阜新市18443297866: C语言中字母大小写怎么转换? -
撒宗西吡: 在ASC码中,大小写字符分别连续存储.所以,相同字符的大小写差值是相同的,这个差值是十进制的32. 在不记得这个差值的情况下,可以用'a'-'A'来表示. 于是,大写转为小写,可以写作 c = c-('A'-'a'); 或 c = c+32; 小写转为大写,可以写作 c = c-('a'-'A'); 或 c=c-32;

阜新市18443297866: c语言小写字母转换成大写字母的问题 -
撒宗西吡: &a表示的是引用变量a的物理地址 a表示引用变量a scanf中把你输入的东西要放到a的物理地址中才行 而输出时只需要调用变量a 自动查找其物理地址中的内容 这在stdio.h中有详细说明

阜新市18443297866: C语言关于大小写转换的问题 -
撒宗西吡: 空格、制表符和新行符都用做域分割符号,但读单字符操作中却按一般字符处理.所以说scanf("%c%c%c",&x,&y,&z);你输入的是a b c,单字符输入的时候实际上是当做五个字符,他是把这个输入流里面前三个字符析取出来,a赋给x,空格赋给y,b赋给z,所以就不显示c了!你可以在scanf("%c%c%c",&x,&y,&z);中把scanf"%c%c%c"的各个格式说明用空格隔开,就可以了,即是scanf("%c %c %c",&x,&y,&z);或者输入的时候不用空格!

阜新市18443297866: C语言,字母大小写转换 -
撒宗西吡: #include//利用字符的ASCII值判断 void main() { char a; scanf("%c",&a); if(a<=90) printf("%c",a+32); else printf("%c",a-32); }

阜新市18443297866: C语言 大小写转化问题 -
撒宗西吡: #include #include int main(int argc, char* argv[]) { unsigned int i; char a[1024]; printf("输入字符串,以回车结束: "); scanf("%s", a); for(i=0; i { if(97 { a[i] = a[i] - 32; continue; } if(65 { a[i] = a[i] + 32; continue; }} for(i=0; i printf("%c", a[i]); printf("\n"); return 0; } 复制下来就能用,太懒了!

阜新市18443297866: c语言字母大小写转换 -
撒宗西吡: 因为if语句错了,ch的值被赋值为一或零,应减掉ch=. 注意逻辑语句的值赋给了ch.

阜新市18443297866: C语言,关于大小写字母的转换问题 -
撒宗西吡: 如果没有加的话你的程序只能输入一个字符除非你输入的第一个字符就是回车键程序才会结束!如果你是先输入一个字符再输入一个回车键的话那么c就永远不会等于'\n'了就是死循环了! 下图就是只输入一个回车键的情况!你应该是想输入多个字符吧!你可以像下面的网友那么改不改也可以的! 你正常的输入应该是输入完字符后再输入了回车键,那么不加c=getchar()的话c就不可能等于'\n' 因为c只能读取一个字符读取的是你输入的第一个字符不是回车键!所以程序会陷入死循环!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网