文章

3

粉丝

321

获赞

7

访问

29.3k

头像
简单小记
P1240 北京大学机考题
发布于2020年4月15日 17:05
阅读数 9.9k


#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';
			}
		}
...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发