文章
3
粉丝
321
获赞
7
访问
31.1k
#include <cstdio>
#include <cstring>
using namespace std;
char s[105];
int main(){
while(gets(s)){
int len = strlen(s);
int flag = 0;
for(int i = 0; i < len; i++){
//空格过后第一个字母一定是新的单词首字母
if(flag == 0 && (s[i]>= 'a' && s[i] <= 'z')){
//如果是大写就不变,N诺题解多了一个if没啥用,因为前面那个if已经判断
s[i] = s[i] - 'a' + 'A';
flag = 1;
}
else if(s[i] == ' '){
//空格说明后面有新单词 标记置为0
flag = 0;
}
}
puts(s);
}
return 0;
}
方法二:无需用标记,只需判断空格后是否是小写字母即可,另外注意第一个字母是否是小写字母
#include<iostream>
#include<cstring>
using namespace std;
const int N = 100;
char s[N];
int main(){
while(gets(s)){
int len = strlen(s);
//判断第一个字母
if((s[0]>='a' && s[0] <= 'z'))
s[0] = s[0] - 'a' + 'A';
for(int i = 0; i < len; i++){
if(s[i] == ' '&& (s[i+1]>='a' && s[i+1] <= 'z')){
s[i+1] = s[i+1]-'a'+'A';
}
}
...
登录后发布评论
暂无评论,来抢沙发