c语言求解,新手,想了一个晚上都不会
输入一段字母(如:A,B,C,D,E,F)输出其小写的形式(如:a,b,c,d,e,f){:10_266:}谢谢谢谢! 去看看ASCII表你就知道怎么写了,
或者使用库函数 'a' == 'A' + 32 小甲鱼 发表于 2019-10-23 02:13
'a' == 'A' + 32
可是让输的是一段字母,也是这样算吗? bin554385863 发表于 2019-10-23 01:21
去看看ASCII表你就知道怎么写了,
或者使用库函数
我会算单个的,一串的就不会了{:10_266:} ………一串还不是一个个穿起来的??? zxc837960204 发表于 2019-10-23 09:04
我会算单个的,一串的就不会了
或者你搜一下库函数,字符串有自带的大小写转换函数 bin554385863 发表于 2019-10-23 09:14
或者你搜一下库函数,字符串有自带的大小写转换函数
我定义的时候可以用char吗 。输入的时候可以用getchar吗 bin554385863 发表于 2019-10-23 09:14
或者你搜一下库函数,字符串有自带的大小写转换函数
#include<stdio.h>
int main()
{
char ch;
printf("input a set of numbers:\n");
scanf("%c",&ch);
for(ch='A';ch>='A'&&ch<='F';ch++;)
{
c=c+32;
printf("%c",ch);
}
return 0;
} bin554385863 发表于 2019-10-23 09:14
或者你搜一下库函数,字符串有自带的大小写转换函数
能说一下我写的哪有问题吗 是定义不对 还是输入不对?谢谢谢谢,求求了。真的不会。。 本帖最后由 yuweb 于 2019-10-23 09:53 编辑
第7行ch++后面多了个分号,而且ch应该是ch>='A'&&ch<='Z',应该也不是这边循环吧,改成if
第9行c未定义,你应该是想写ch吧?
你的修改
#include<stdio.h>
int main()
{
char ch;
printf("input a set of numbers:\n");
scanf("%c",&ch);
if(ch>='A'&&ch<='Z')
{
ch=ch+32;
printf("%c\n",ch);
}
return 0;
}
ctype.h里有一个tolower函数,
函数原型
int tolower(int c)
{
if ((c >= 'A') && (c <= 'Z'))
return c + ('a' - 'A');
return c;
}
利用一下,用循环获取持续输入,结束直接关闭或者ctrl+c
#include <stdio.h>
#include <ctype.h>
int main()
{
char ch;
printf("input a set of numbers:\n");
while (true) //死循环,能够持续输入字符
{
scanf("%c", &ch);
printf("%c",tolower(ch));
}
return 0;
} yuweb 发表于 2019-10-23 09:46
第7行ch++后面多了个分号,而且ch应该是ch>='A'&&ch
是的,刚开始学,好多细节都弄不好。。
谢谢谢谢,万分感谢 #include<stdio.h>
int main()
{
char c={"A,B,C,D,E,F"};
int i;
for(i=0;i<11;i++)
{
if (c>='A'&&c<='F')c=c+32;
printf("%c",c);
}
printf("\n");
return 0;
}
#include<stdio.h>
#include<string.h>
int main()
{
char c[]={"A,B,C,D,E,F"};
printf("%s",strlwr(c));
return 0;
}
#include<stdio.h>
#include<string.h>
int main()
{
char c;
printf("input a set of numbers:\n");
gets(c);
printf("%s",strlwr(c));
return 0;
}
页:
[1]