2019.3.23HDOJ-2026首字母变大写,AC率54.18%(46777/86337)

版权声明:那啥,咱一个萌新写的东西没啥价值。但是也要打个招呼吧…… https://blog.csdn.net/Miaplacidus/article/details/88757361

周六早上起来不知道干什么好,大物还一点不会呢

题目

Problem-2016首字母变大写
Problem Description
输入一个英文句子,将每个单词的第一个字母改成大写字母。

Input
输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。

Output
请输出按照要求改写后的英文句子。

Sample Input
i like acm
i want to get an accepted

Sample Output
I Like Acm
I Want To Get An Accepted

AC的代码

#include<stdio.h>
#include<ctype.h>
#define STLEN 150
int main(void)
{
	char str[STLEN];
	int inword,i;
	while(fgets(str,STLEN,stdin)!=NULL){
		for(i=0;i<STLEN;i++){
			inword=0;
			if(islower(str[i])!=0&&inword==0){
				str[i]-=32;
				inword=1;
			}
			while((isalpha(str[i])!=0&&inword==1)||(isalpha(str[i])==0&&inword==0)){
				i++;
			}
		}
		fputs(str,stdout);
	}
	return 0;
}

因为需要按行读入,所以用到了一直都没用过的fgets()函数。
调用了ctype.h,需要注意的是isalpha()在输入为字母和islower()在输入为小写字母是的返回值为非0,不一定是1,调试时好一顿忙活……

Run ID Submit Time Judge Status Pro.ID Exe.Time Exe.Memory Code Len. Language Author
28670731 2019-03-23 10:45:51 Accepted 2026 31MS 1680K 403 B C Overstars

2019年3月23日10点51分

猜你喜欢

转载自blog.csdn.net/Miaplacidus/article/details/88757361