输入一段字符串,将每个单词首字母大写。(c语言)

#include<stdio.h>voidmain(){inti;chars1[20],s2[15],c;gets(s2);for(i=0;(c=s2[i])!='\0'... #include<stdio.h>
void main()
{
int i;
char s1[20],s2[15],c;
gets(s2);
for (i=0;(c=s2[i])!='\0';i++)
s1[i]=s2[i];
for(i=0;i<15;i++)
if((c=s2[i])=='\0')
s1[i]=s2[i];
puts (s1);

}
为何不对?
展开
 我来答
迎宾一醉还乡5275
2008-11-19 · TA获得超过519个赞
知道小有建树答主
回答量:810
采纳率:0%
帮助的人:342万
展开全部
你换个地方问,这里是烦恼的地方,没人会的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
代斐劳彭丹
2019-12-04 · TA获得超过3656个赞
知道大有可为答主
回答量:3105
采纳率:28%
帮助的人:233万
展开全部
#include<stdio.h>
void
main(void)
{
int
i
=
0,
flag
=
1;
char
a[100];
gets(a);
for(i
=
0;
a[i]
!=
'\0';
i++)
{
if(a[i]
==
'
')
{
flag
=
1;
}
if((flag
==
1)&&(a[i]>=97&&a[i]<=122))
{
a[i]=a[i]-32;
flag
=
0;
}
}
puts(a);
}
答案补充
用flag来判断是不是一个新的单词
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e3afcb4
2008-11-19 · TA获得超过251个赞
知道小有建树答主
回答量:278
采纳率:0%
帮助的人:177万
展开全部
你这段程序好像不是这个功能吧?像是把输入的字符串送到S2里,然后又把S2赋给S1,最后把S1输出。而且最后那段程序,就是把结束符'/0'从S2复制到S1的那部分,太麻烦了,可以很简单的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
家婀植吉星
2019-10-27 · TA获得超过3656个赞
知道大有可为答主
回答量:3087
采纳率:25%
帮助的人:200万
展开全部
#include<stdio.h>
void
main(void)
{
int
i
=
0,
flag
=
1;
char
a[100];
gets(a);
for(i
=
0;
a[i]
!=
'\0';
i++)
{
if(a[i]
==
'
')
{
flag
=
1;
}
if((flag
==
1)&&(a[i]>=97&&a[i]<=122))
{
a[i]=a[i]-32;
flag
=
0;
}
}
puts(a);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
于珊琦成弘
2020-01-30 · TA获得超过3941个赞
知道大有可为答主
回答量:3086
采纳率:30%
帮助的人:162万
展开全部
第9行应该是
if(a[i]=='')
=是赋值语句,==才是判断比较的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式