Problem 1136: 首字母变大写

该博客介绍了一道编程题目,要求输入一个英文句子并将每个单词的首字母转换为大写。提供了解题思路和相应的C语言代码实现,代码中通过判断字符位置并转换其ASCII值来完成首字母大写的操作。错误分析部分提到了未设置标志变量和循环输出的遗漏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Problem 1136: 首字母变大写

题目来源

http://acm.zzuli.edu.cn/problem.php?id=1136

题目描述

输入一个只包含大小写英文字母和空格的句子,将每个单词的第一个字母改成大写字母。

输入

输入一个长度不超过100的英文句子。

输出

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

样例输入

i like ACM

 

样例输出

I Like ACM

 

题意描述:

将一个句子里的每个单词的首字母都大写。

解题思路:

首先判断每个单词的首字母的位置,然后变成大写,设一个变量阻止它继续读取这个单词的其他字母。

程序代码:

#include<stdio.h>

#include<string.h>

int main()

{

char str[110];

int i,len,find=0;

gets(str);

len=strlen(str);

for(i=0;i<len;i++)

{

if(str[0]>='a'&&str[0]<='z')

str[0]=str[0]-32;

if(str[i]==' ')

{

find=1;

continue;

}

if(find==1)

{

if(str[i]>='a'&&str[i]<='z')

{

str[i]=str[i]-32;

}

find=0;

}

}

for(i=0;i<len;i++)

printf("%c",str[i]);

printf("\n");

return 0;

}

错误分析:

没有想到设置标量这一点;

没有循环输出和加换行。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值