关于C语言输入字符串后将首字母变大写~~~

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于C语言输入字符串后将首字母变大写~~~相关的知识,希望对你有一定的参考价值。

以下是我的程序:#include<stdio.h>
int main(void)

int i,j;
char s[101];
i=0;j=0;
while(scanf("%c",&s[0])!=EOF)


while(s[i]!='\n')

i++;
scanf("%c",&s[i]);


if(s[0]>='a'&&s[0]<='z')
s[0]=s[0]-32;

for(j=1;j<=i;j++)

if(s[j-1]==' ')

if((s[j]>='a'&&s[0]<='z'))
s[j]=s[j]-32;


for(j=0;j<=i;j++)
printf("%c",s[j]);

i=0;j=0;
return 0;

参考技术A 你想啊~~比如说 类型为char的‘a’,对应的ASCII码为97,(ASCII码的百科~~http://baike.baidu.com/view/15482.htm),相当于char型的‘a’可以当做(只是当做,char和int还是有区别)int型的97,而‘A’对应的ASCII码为55,要通过’a‘输出‘A',可以这样printf("%c", 'a' - 32);不知道这样说清楚不。本回答被提问者和网友采纳 参考技术B 你这段程序好像不是这个功能吧?像是把输入的字符串送到s2里,然后又把s2赋给s1,最后把s1输出。而且最后那段程序,就是把结束符'/0'从s2复制到s1的那部分,太麻烦了,可以很简单的。 参考技术C 小写变大写,只要减32就可以了! 参考技术D 其实可以用字符串函数实现就很方便了。
头文件为<ctype.h>
tolower()
toupper()
相信你能理解
第5个回答  2011-04-03 程序好像没有问题。

C语言截取字符串将大写字母转换为小写字母。

将被操作字符串中的指定大写字母后的所有字母截取出来,将截取出来的所有字母转换为小写字母,将此字符串写入原来被操作字符串的地址中。
函数原型
int trans(char *str, char ch);
参数说明
str 为被操作的字符串首地址,字符串的元素全为大写字母;最终将转换好的字符串写入此地址中。
ch 为指定的大写字母,此大写字母在str中只出现一次;
返回值
0 操作成功,正常返回;
1 str为空,即str==NULL
比如:字符串”WEIWENDATA” 在字符’N’之后的的字符串为” DATA”;转换后的字符串”data”。

参考技术A #include<stdio.h>
#include<string.h>
#include<math.h>

int trans(char *str, char ch)

int lon,i;
lon=strlen(str);
for(i=0;i<lon;i++)

if(str[i]==ch)

break;


i++;
for(;i<lon;i++)

str[i]+=32;


return 0;


int main(int argc,char *argv)

char str[20];
char ch;

printf("请输入你要输入的字符串:\n");
scanf("%s",str);
getchar();
printf("请输入你要转换的字母:\n");
scanf("%c",&ch);
trans(str, ch);
printf("最终结果是:\n");
printf("%s\n",str);
return 0;
参考技术B int trans(char *str, char ch)


int i, j;
for(i=0;*(str+i)!='\0';i++)

if(*(str+i)==ch)
break;

if(*(str+i)=='\0')

*str='\0';
return 1;

for(j=0,i=i+1;*(str+i)!='\0';i++,j++)

str[j]=*(str+i)-('A'-'a');

return 0;
追问

第二个for循环就是第16行做出来说少一个)在;之前。实在不知道怎么改呀。。

追答

你把我代码拷贝过去编的?

我这里可以啊。

追问

对呀。直接拷贝过去的。不知道怎么回事。。

追答

你再仔细检查一下,是不是少个括号分号什么的。

本回答被提问者和网友采纳
参考技术C 是要我们写程序吗?问题是什么?追问

对呀,问题是题目哦,

以上是关于关于C语言输入字符串后将首字母变大写~~~的主要内容,如果未能解决你的问题,请参考以下文章

c语言 输入一个字符串,求出其中大写字母的个数

C语言中宏名是不是必须用大写字母表示?举个例子~

c语言 对任意输入的字符串,统计其中的大写字母和小写字母的个数

java 判断字符串首字母大写,非首字母小写代码

C语言编程题 输入一个由大写字母组成的字符串,求字符串中包含了几个不同的字母

编写函数,统计一个字符串中大写字母的数目 用c语言