知识:
Q:怎么循环输入一整行字符串?
A:cin.getline 允许读取包含空格的字符串。它将继续读取,直到它读取至最大指定的字符数,或直到按下了回车键
Q:如何转换成大写
A:用C语言头文件<ctype.h>下的toupper(char c)函数。
思路:
①特殊处理第一个字符;
②依次遍历,如果当前字符是空格且 他后面一个是字母的话,就upper为大写。
代码:
// 03.15 10:26-10:56
#include <cstdio>
#include <iostream>
#include <cstring>
#include <string>
#include <ctype.h>
#include <algorithm>
using namespace std;
const int maxn = 101;
char str[maxn];
int main() {
freopen("input.txt", "r", stdin);
while (cin.getline(str, 100)) {
int len = strlen(str);
str[0] = toupper(str[0]);
for (int i = 1; i < len; i++) {
if (str[i] == ' ' && (str[i + 1] >= 'a' && str[i + 1] <= 'z'))
str[i + 1] = toupper(str[i + 1]);
}
cout << str << endl;
}
return 0;
}