文章

11

粉丝

0

获赞

43

访问

776

头像
首字母大写 C语言题解
P1240 北京大学机考题
发布于2026年3月12日 11:39
阅读数 41

第一次尝试代码,通过率只有80%,且提示输出格式错误

#include<stdio.h>
#include<ctype.h>

int main() {
	char arr[100], sign;
	while (~scanf("%s", arr)) {
		sign = getchar();
		//scanf("%c", &sign);
		//printf("[%s]",arr);
		if (islower(arr[0]))
			arr[0] = arr[0] - 32;
		printf("%s", arr);
		printf("%c", sign);
	}

	return 0;
}

考虑可能存在多个连续的空白符,只能逐个字符判断

#include<stdio.h>
#include<ctype.h>

int main(){
	char arr[100], sign;
	int num=0;
	fgets(arr, 100, stdin);
	for(int i=0; i<strlen(arr); i++){
		if(arr[i]==' ' || arr[i]=='\t' || arr[i]=='\r' || arr[i]=='\n'){
			printf("%c",arr[i]);
			num=0;
		}else if(num==0 && islower(arr[i])){
			num=1;
			printf("%c",arr[i]-32);
		}else{
			printf("%c", arr[i]);
			num=1;
		}
	}
	
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发