求解C语言问题 第12题:最后一个单词的长度?
题目给定由大写,小写字母和空格组成的字符串,返回最后一个单词的长度。如果不存在最后一个单词,返回0注意:“单词”是指不包含空格符号的字符串例如:s=“helloWorld...
题目
给定由大写,小写字母和空格组成的字符串,返回最后一个单词的长度。
如果不存在最后一个单词,返回0
注意:
“单词”是指不包含空格符号的字符串
例如:
s = “hello World”, 那么返回的结果是5
格式:
第一行输入字符串s,然后输出s中最后一个单词的长度。
我的代码
#include<stdio.h>
int main(){
int i,j,k;
char c[13000];
c[1]=getchar();
i=1;
while (c[i]!='\n')
{
c[i+1]=getchar();
i++;
}
i--;
while (c[i]==' ') i--;
j=i;
while ((c[j]>='A'&&c[j]<='Z')||(c[j]>='a'&&c[j]<='z')) j--;
j++;
k=i-j+1;
if (k==0) return 0;
printf ("%d",k);
return 0;
}
我自己测试都没问题 怎么过不了。
还有 不存在最后一个单词 是什么意思能举个例子么 展开
给定由大写,小写字母和空格组成的字符串,返回最后一个单词的长度。
如果不存在最后一个单词,返回0
注意:
“单词”是指不包含空格符号的字符串
例如:
s = “hello World”, 那么返回的结果是5
格式:
第一行输入字符串s,然后输出s中最后一个单词的长度。
我的代码
#include<stdio.h>
int main(){
int i,j,k;
char c[13000];
c[1]=getchar();
i=1;
while (c[i]!='\n')
{
c[i+1]=getchar();
i++;
}
i--;
while (c[i]==' ') i--;
j=i;
while ((c[j]>='A'&&c[j]<='Z')||(c[j]>='a'&&c[j]<='z')) j--;
j++;
k=i-j+1;
if (k==0) return 0;
printf ("%d",k);
return 0;
}
我自己测试都没问题 怎么过不了。
还有 不存在最后一个单词 是什么意思能举个例子么 展开
展开全部
如果不存在最后一个单词,返回0,应该是指你直接输入回车时,没有数据时应该输出0
if (k==0) return 0; 去掉这一句再试试
if (k==0) return 0; 去掉这一句再试试
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
刚刚刚试了一下,全是空格的就不行,或者最后一个是空格的话应该就是输出0 了吧,改一下试一试,应该是这个问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询