哎呀呀,做出这题真不容易!
不是因为这题很难,题目很简单,
就是在输出的时候除了问题,
用cout << str << endl;输出该字符串的时候,竟然直接把里面的空格符改成了回车符,
弄了很久才明白,
原来是在输入字符串的时候用了 while (scanf ("%s", str));导致的,
正确的输入应该是 while (gets (str));
下面是代码:
#include <stdio.h>
#include <string>
#include <string.h>
#include <iostream>
using namespace std;
int main()
{
char str[100];
int i;
while (gets (str) != NULL)
{
int len = strlen(str);
if (str[0] != ' ')
{
if (str[0] >= 'a' && str[0] <= 'z')
str[0] = str[0] - 32;
}
for (i = 1; i < len; i ++)
{
if (str[i] >= 'a' && str[i] <= 'z' && str[i - 1] == ' ')
{
str[i] = str[i] - 32;
}
}
cout << str << endl;;
}
system ("pause");
return 0;
}