杭电acm2026 Problem Description输入一个英文句子,将每个单词的第一个字母改成大写字母.Inpu
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/30 20:11:47
杭电acm2026
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
我的代码:
#include
int main(void)
{
char str[100],*p;
while(gets(str)!=NULL)
{
p=str;
*p=*p-32;
while(*p++!=NULL)
{
\x05 if(*(p-1)==' ')
\x05\x05 *p=*p-32;
}
while(*p!=NULL)
printf("%c",*p++);
printf("\n");
p=0;
}
return 0;
}
出错原因:输出的是乱码
修改最后输出语句后
代码变为
#include
int main(void)
{
char str[100],*p;
while(gets(str)!=NULL)
{
p=str;
*p=*p-32;
while(*p++!=NULL)
{
\x05 if(*(p-1)==' ')
\x05\x05 *p=*p-32;
}
printf(“%s\n”,str);
p=0;
}
return 0;
}
这样就正确了
我想知道我第一个代码哪里出错 为什么出现乱码.
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
我的代码:
#include
int main(void)
{
char str[100],*p;
while(gets(str)!=NULL)
{
p=str;
*p=*p-32;
while(*p++!=NULL)
{
\x05 if(*(p-1)==' ')
\x05\x05 *p=*p-32;
}
while(*p!=NULL)
printf("%c",*p++);
printf("\n");
p=0;
}
return 0;
}
出错原因:输出的是乱码
修改最后输出语句后
代码变为
#include
int main(void)
{
char str[100],*p;
while(gets(str)!=NULL)
{
p=str;
*p=*p-32;
while(*p++!=NULL)
{
\x05 if(*(p-1)==' ')
\x05\x05 *p=*p-32;
}
printf(“%s\n”,str);
p=0;
}
return 0;
}
这样就正确了
我想知道我第一个代码哪里出错 为什么出现乱码.
因为while(*p++!=NULL)当*p=NULL时,循环结束然后p=p+1;
接着运行while(*p!=NULL) *p已经不再str数组中他的值是不定的
所以会乱码
再问: 那怎么修改 我不想用第二个输出 我想用第一个输出的方法
再答: p=str; 加一个 对了我得提醒一下, 你的*p++改成*(p++)这样增加可读性,就不用让我去查优先级和结合方向了
接着运行while(*p!=NULL) *p已经不再str数组中他的值是不定的
所以会乱码
再问: 那怎么修改 我不想用第二个输出 我想用第一个输出的方法
再答: p=str; 加一个 对了我得提醒一下, 你的*p++改成*(p++)这样增加可读性,就不用让我去查优先级和结合方向了
杭电acm2026 Problem Description输入一个英文句子,将每个单词的第一个字母改成大写字母.Inpu
杭电ACM 2026输入一个英文句子,将每个单词的第一个字母改成大写字母.Input输入数据包含多个测试实例,每个测试实
C语言问题 输入一个英文句子,将每个单词的第一个字母改成大写字母
C语言求助:输入一个英文句子,将每个单词的第一个字母改成大写字母.
输入一个英文句子,将每个单词的第一个字母改成大写字母.
首字母变大写输入一个英文句子,将每个单词的第一个字母改成大写字母.输入数据包含多个测试实例,每个测试实例是一个长度不超过
C语言:输入一个英文句子,要求将每个单词的第一个字母删除.
pascal单词统计Description 输入一串英文句子,统计该英文句子中英文单词的个数,并将单词个数输出.Inpu
C++..."输入一句话将这句话中所有单词(假设都是字母)的第一个字母改成大写字母,并输出"例如:pig变成Pig
PASCAL 输入一个英文句子,将里面每一个单词的首写字母换成大写字母……
用C编程:输入一个英文句子(小写字符串),将其中每个单词的首字母改成大字母,然后输出此句子.谢谢…
C语言解读 我是新手啊 请指教 下面的程序是把输入英文的每个单词的第一个字母编程大写字母,k是怎么回事