我是新手,C语言中的大小写转换的题目,不知道哪里错了,跪求~

作者&投稿:释烁 (若有异议请与网页底部的电邮联系)
C语言大小写字母转换为什么我这样写错了?~

错误1:scanf("");中不应该携带任何转义字符如/n
错误2:如果采用%c输入,则回车符会被当作一个字符输出,所以下一个printf输出的是一个回车
修改建议:
1、将scanf("%c/n",&a);改成scanf("%c",&a);
2、将printf("%c/n",result);改成
printf("%c"); //输出回车
printf("%c/n",result); //输出结果

如果想深入理解错误原因,可以了解一下输入缓冲区的概念

#include int main() { char c; scanf("%c",&c); if(c>='A'&&c='a'&&c<='z') c=c-32;printf("%c
",c); }

#include<stdio.h>
void main()
{
char a[81];
int i,j;
for(i=0;i<81;i++)
scanf("%c",&a[i]);//我建议你用gets(a);因为你不知道这串字符里面是否含有空格。
for(i=0;a[i]!='\0';i++)
{
if(a[i]>='a' && a[i]<='z')
a[i]=a[i]-32;
else if(a[i]>='A' && a[i]<='Z')// 你漏写了一个if,要用else if,因为你后面是个判断条件
a[i]=a[i]+32;
}
for(j=0;j<81;j++)
printf("%c",a[j]);//用printf("%s\n",a);可能更美观一些。
}

#include<stdio.h>
int main()
{
char a[81];
int i,j;
//for(i=0;i<81;i++)
// scanf("%c",&a[i]);
gets(a);//这样好用
for(i=0;a[i]!='\0';i++)
{
if(a[i]>='a' && a[i]<='z')
a[i]=a[i]-32;
else if(a[i]>='A' && a[i]<='Z')// else if
a[i]=a[i]+32;
}
//for(j=0;j<81;j++)
// printf("%c",a[j]);
printf("%s\n",a);//这样输出快一些
return 0;
}

#include<stdio.h>
int main()
{
char a[81];
int i,j;
for(i=0;i<81;i++)
scanf("%c",&a[i]);
for(i=0;a[i]!='\0';i++)
{
if(a[i]>='a' && a[i]<='z')
a[i]=a[i]-32;
else(a[i]>='A' && a[i]<='Z') //你这里少了个if,应该写成else if (a[i]>='A' && a[i]<='Z')
a[i]=a[i]+32;
}
for(j=0;j<81;j++)
printf("%c",a[j]);
}

for(i=0;a[i]!='\0';i++)改为for(i=0;a[i]!='\0 || i >= 81';i++)
else(a[i]>='A' && a[i]<='Z')改为else if(a[i]>='A' && a[i]<='Z')

else 后面要有个 if 因为你在后面有写判断条件。


C语言中的问题新手不太明白麻烦说一下?
选择4 数组a的初始化方法隐含最末有一个字符串结束符'\\0'也包含在数组中,所以数组a要比数字b的大小大1,所以1和2都错误 数组b都没有字符串结束符'\\0',都不是一个字符串,所以3错误

C语言题目<请帮个忙,因为我是新手,刚学,不会>
\/\/设y是int型变量,判断y为奇数的关系表达式是y%2= =1 include<stdio.h> void main(){ int y;printf("请输入\\n");scanf("%d",y)if(y>100||y<0){ printf("非法操作");} else if(y%2=0){ printf("偶数");} else { printf("奇数");{ } ...

C语言 新手 请熟手回答图中的一个小问题 保证秒回 在线等
你定义s123的时候,系统给s123分别分配了内存,在进行 乘 运算得来的值就分别放在那三个地址里面,等到你想显示(打印\/printf)的时候,系统自动获取对应内存里面的对应数据输出。

新手如何再C语言中输出边框
首先要画框你必须得有graphice.h这个头文件{ initgraph(400,400);\/\/画一个400行400列的图void

用C语言中的数组来实现删除,查找,排序,插入,创建。最好是很简单的,新手...
include<stdio.h> void paixu(int a[]){ int i,j=a[0];for(i=1;i<sizeof(a);i++){ if(a[i-1]>a[i]){ j=a[i-1];a[i-1]=a[i];a[i]=j;} } for(i=0;i<sizeof(a);i++)printf("%d",a[i]);}void insert(int k,int a[]){ int i,j;for(i=0;i<size...

C语言新手应该如何选择 IDE(编译开发软件)?Visual Studio、VSCode、CLi...
相比之下,Lightly作为云端IDE,是TeamCode的新秀。无需本地安装,代码直接存储于云端,跨平台且支持多人实时协作。注册后,只需点击新建,选择C语言,即可立即开始编程。Lightly的简洁设计和实时运行功能,为新手提供了便捷的开发体验。综上所述,对于初学者,我推荐Visual Studio,因其直观易用、环境预设...

我是C语言的初学者,我想知道有哪一些适合我做的数组题。请指教!_百度...
给LZ列举几个类型吧,每个类型都可以扩展出很多。我认为适合新手的题目主要有以下几种:1、排序:将数组中元素按不同方法升序\/降序排列;2、查找:如找出数组中特定元素,求出数组中某元素的个数,求最大值最小值;3、计算:如方差,均方差,求数列的第n项,前n项和;4、修改:替换数组中的元素,...

我是新手,问下C语言指针问题,我明明在代码定义了指针,可是运行错误还是...
首先,你scanf的用法是错误的,后面需要用ijk的地址,要加上一个& 然后,就像楼上说的,前面定义的是q,后面用的是p,当然提示未定义。

新手C语言一些简单题目向高手大侠请教
1,(int)(x*1000+0.5)\/(float)1000中 (int)(x*1000+0.5)= 5169 除以1000,为5.169000(小数点后保留6位)2,int型中没有小数点,1\/2=0.5直接显示为0 3,c为数组名。表示的是C数组的头地址,就不用加地址符号了 4,%10.5f表示的是10位有效数字和小数点后保留5位 5,printf("...

我是C语言新手。求大神解释一下这一道题,书里没解析的额
首先main函数里定义个结构体类型 struct cmplx该结构体包含两个成员变量x和y。cnum是结构体类型的数组,数组中有2个数组元素cnum[0]和cnum[1],每个数组元素都是结构体类型的变量。所以 cnum[0].x=1,cnum[0].y=3;cnum[1].x=2,cnum[1].y=7;则cnum[0].y\/cnum[0].x*cnum[1]....

延川县18912126404: c语言 - 已知大写字母A的ascii码是65,小写字母a的ascii码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是:A) c=c - 'Z'+'z'B) c=c+32C) c=c - ... -
端木中降压:[答案] C 67 A 65 Z 90c 99 a 97 z 122c='A'+c-'c' 不能在ascii中大写和小写的ascii值差32 c=c-'Z'+'z' 67 = 67 - 90 + 122 = 99c=c+32 67 = 67 + 32 = 99c=c-'A'+'a' 67 = 67 - 65 + 97 = 99不知道这样写...

延川县18912126404: C语言求助已知大写字母A的ASCII码为65,a的ASCII码为97,下列不能把c中的大写字母转换成小写字母的是:A.c=(c - 'A')%26+'a' B .c=c+32 C .c=c+'A' - 'a' D.c... -
端木中降压:[答案] C和D都不能, A中c-'A'得到相对'A'的偏移值,对26取余这里可以不要,+'a'就得到了相对应的小写字母 B中小写字母与大写字母相差32,所以加上就可以了 C和D,不知依据的是什么

延川县18912126404: 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++){...

延川县18912126404: 简单c语言问题——大小写字母转换 -
端木中降压: char *string = "this is my program"; 上面这句话,是把"this is my program"常量的地址赋值给了指针string,因此string成了常量指针,没法再给string指向的内存空间赋上新的值,所以*(string+i) = *(string+i) - 32会报错.可以把char *...

延川县18912126404: 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...

延川县18912126404: C语言,字母大小写转换 -
端木中降压: #include//利用字符的ASCII值判断 void main() { char a; scanf("%c",&a); if(a<=90) printf("%c",a+32); else printf("%c",a-32); }

延川县18912126404: C语言大小写字符转换 -
端木中降压: #include void main() { char c1,c2; // 定义两个字符c1,c2 c1=getchar(); //从键盘输入一个大写字母,放在c1 printf("%c,%d\n",c1,c1);//输出 你输入的那个大写字母 以及他的ASCII c2=c1+32; //将大写的转换成小写的 printf("%c,%d\n",c2,c2);输入小写字母 }

延川县18912126404: 一道C语言的基础题:输入一个小写字母,然后转换成大写,比如在输入时候是“a”,输出的时候是“A”. -
端木中降压: “a”的ASCII码值比“A“大32,所以只要减去32然后输出字符就会变成大写,你可以查一下ASCII表,具体程序: char a_to_A(char a) {return (a-32); }接受输入的数,调用这个函数,然后输出函数返回值就好了

延川县18912126404: C语言的一道题 输入一个字母,如果是小写就将其转换为大写,如果是大写就将其转换为小写 -
端木中降压: 不应该把a加' '这样就成了判断a这个字符了,把if 和 else if 中的' '去掉就好了

延川县18912126404: 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++; }

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