输入一个英语句子,用.结束,分行打印出单词

编写程序,输入一个英语句子,用.结束,分行打印出单词

#include<iostream>
using namespace std;
char a[200];
int main(){
    int n=0;
    while((a[n++]=getchar())!='.'){};
    for(int i=0;i<n-1;i++){
        if(a[i]!=' ')    cout<<a[i];
        else cout<<endl;
    }
    return 0;
}
#include <stdio.h>

/*编写程序,输入一个英语句子,用.结束,分行打印出单词*/
int main() {
    char a[50] = { 0 };
    int j = 0;
    printf("输入:");
    for (int i = 0; i < 50; i++)
    {
        a[i] = getchar();
        if (a[i] == '.') {
            a[i + 1] = '\0';
            j = i;
            break;
        }
    }

    for (int i = 0; i < j; i++) {
        printf("%c", a[i]);
        if (a[i] == 32) {
            printf("\n");
        }

    }
    return 0;

}

c语言实现的,比上面那个大佬差了好多,可以参考一下。