求纠正;c语言编程题,acm里的题目:首字母变大写首字母变大写Time Limit:1000MS Memory Limit:32768KTotal Submit:66 Accepted:28Description输入一个英文句子,将每个单词的第一个字母改成大写字母. Input输入
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/20 13:14:58
求纠正;c语言编程题,acm里的题目:首字母变大写首字母变大写Time Limit:1000MS Memory Limit:32768KTotal Submit:66 Accepted:28Description输入一个英文句子,将每个单词的第一个字母改成大写字母. Input输入
求纠正;c语言编程题,acm里的题目:首字母变大写
首字母变大写
Time Limit:1000MS Memory Limit:32768K
Total Submit:66 Accepted:28
Description输入一个英文句子,将每个单词的第一个字母改成大写字母.
Input输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行.
Output请输出按照要求改写后的英文句子.
Sample Inputi like acm
i want to get an accepted
Sample OutputI Like Acm
I Want To Get An Accepted
我的答案:
#include
int main()
{
int i;
char ch;
while(1)
{ char s[101]={'\0'};
for(i=0;(ch=getchar())!='\n';i++)
s[i]=ch;
for(i=0;(ch=s[i])!='\0';i++)
{
if(i==0)
if(s[i]>='a'&&s[i]='a'&&s[i+1]
求纠正;c语言编程题,acm里的题目:首字母变大写首字母变大写Time Limit:1000MS Memory Limit:32768KTotal Submit:66 Accepted:28Description输入一个英文句子,将每个单词的第一个字母改成大写字母. Input输入
具体原因不清楚,改了几个问题:
字符数组移到循环外面;
ch变量没有用到去掉了;
输入输出用库函数;
判断空格用库函数(可以支持' '外的空白字符);
精简语句;
#include <stdio.h>
int main()
{
int i;
char s[101]={'\0'};
while(1)
{
gets(s);
for(i=0; s[i]!='\0';i++)
{
if(i==0 && s[i]>='a'&&s[i]<='z')
s[i]=s[i]-32;
if(isspace(s[i]) && s[i+1]>='a'&&s[i+1]<='z')
s[i+1]=s[i+1]-32;
}
puts(s);
}
return 0;
}