Day1
题目描述
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
示例1
输入:
hello dayday
输出:
6
说明:
最后一个单词为dayday,长度为6
思路
(首先我没会,参考群里大佬的,就是我们要得到最后一个单词的长度,只需要从键盘中获取字符串,然后从后向前遍历,当读取到' '时我们结束循环,并输出count)
具体实现
#include<stdio.h>
#include<string.h>
#define maxsize 5000
int main(void)
{ int count=0;//负责计数
char str[maxsize];
printf("请输入字符串\n");
gets(str);
//scanf("%s",str);//获取字符串
int n= strlen(str);
printf("%s",str);
for(int i=n-1;i>=0;i--)
{
if(str[i]==' ')
{
break;
}
count++;
}
printf("答案为%d",count);
}
时间复杂度
o(n)
小结
第一天,好多c语言的知识都不会了,就记得怎么输出了,scanf这个函数读到空格就会停止,后面的就读不进去了,我们采用gets(),感谢群友的帮助,希望每天能进步一些
gets();