杭电acm2026哪里错了 http://acm.hdu.edu.cn/showproblem.php?pid=2026

#include<iostream>usingnamespacestd;intmain(){chara[100];inti;while(gets(a)){if(a[0]=... #include <iostream>
using namespace std;
int main()
{
char a[100];
int i;
while (gets(a))
{
if(a[0]==0){cout<<endl;continue;}
if (a[0]>='a'&&a[0]<='z')
cout<<a[0]-32;
else
cout<<a[0];
for (i=1;i<=100;i++)
{
if(a[i]==32)
if(a[i+1]>'a'&&a[i+1]<'z')
a[i+1]=a[i+1]-32;
if(a[i]=='\0')
break;
cout<<a[i];
}
cout<<endl;
}
}
展开
 我来答
匿名用户
2012-04-03
展开全部
有几个小错误,cout只能输出ASSIC码,输出字符可以用 cout.put();
下面的if貌似少了大括号
还有个问题很容易被忽视,,万一输入的一行前,先打几个空格进去呢?

给你份参考代码
============================================
# include <iostream>
# include <cstdio>
using namespace std;

int main(void)
{
char ch1, ch2;
char s[1000];
while(gets(s))
{
ch1 = ' ';
for (int i=0; s[i]!='\0'; i++)
{
ch2 = s[i];
if (ch1 == ' ' && ch2 != ' ')
cout.put(ch2-32);
else
cout.put(ch2);
ch1 = ch2;
}
putchar(10);
}
return 0;
}
============================================
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式