关于C语言输入字符串后将首字母变大写~~~
以下是我的程序:#include<stdio.h>intmain(void){inti,j;chars[101];i=0;j=0;while(scanf("%c",&s[...
以下是我的程序:#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;
} 展开
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;
} 展开
5个回答
展开全部
你想啊~~比如说 类型为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);不知道这样说清楚不。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这段程序好像不是这个功能吧?像是把输入的字符串送到s2里,然后又把s2赋给s1,最后把s1输出。而且最后那段程序,就是把结束符'/0'从s2复制到s1的那部分,太麻烦了,可以很简单的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
小写变大写,只要减32就可以了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实可以用字符串函数实现就很方便了。
头文件为<ctype.h>
tolower()
toupper()
相信你能理解
头文件为<ctype.h>
tolower()
toupper()
相信你能理解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序好像没有问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询