输入一个句子,要求输出单词,且一个单词占一行
如
输入
abc def gh
输出
abc
def
gh
下面有解题思路
//输出句子中的单词
#include <bits/stdc++.h>
using namespace std;
int main(){
char a[1000];//定义字符数组
gets(a); //输入
int n=strlen(a);//求长度
for(int i=0;i<n;i++)//双指针算法
{
int j=i;
while(j<n&&a[j]!=' ')//具体问题的逻辑问题
cout<<a[j++];
cout<<endl;
i=j;
}
return 0;
}
解题思路:
双指针简单来说就利用两个变量,来控制并遍历数组
要么一个变量固定,一个变量移动
要么是同时移动
比如本题
用i控制初始,然后让j移动,直到满足条件(遇到空格)
简单知识记忆
用gets(),输入字符数组,因为scanf()和cin,遇到空格会结束