英语文章的输入,存放在二维数组里

输入英语文章,存到二维数组里。
遇 句号 则开始停止本行输入,开始下一行的输入。
遇#停止输入
如把
abcd.
ABC.
AAA.#
存到s[10][100]里

#不存入数组

一个实现:


#include <stdio.h>

int main(void){
    
    
    char s[10][100];
    int i=0,j=0;
    char ch;
    
    //初始化存放英语文章的二维数组 
    for(i=0;i<10;i++){
        for(j=0;j<100;j++){
            s[i][j] = '\0';
        }
    } 
    
    i=0;
    
    //获取第一个输入字符 
    ch = getchar();
//    printf("ch=%c\n",ch);
    
    while(ch!='#'){  //如果不是'#'字符,则执行下面的操作 
        j=0;   //c初始化每列字符下标 
        if(ch!='\n'){  //如果不是换行符则读入二维数组 
            s[i][j]=ch;
        //    printf("s[%d][%d]=%c\n",i,j,s[i][j]);
            j++;        
        }
        
        ch=getchar();   //读取下一个字符 
    //    printf("ch=%c\n",ch);
        while(ch!='.'&&ch!='\n'){  //如果不是每行结尾的'.'字符和换行符,则循环读入每一行数组中 
            s[i][j]=ch;
        //    printf("s[%d][%d]=%c\n",i,j,s[i][j]);
            j++;
            ch=getchar();
        //    printf("ch=%c\n",ch);
        }
        
        if(ch=='.'){  //把每行结尾的'.'字符读入二维数组 
            s[i][j]=ch;
        //    printf("s[%d][%d]=%c\n",i,j,s[i][j]);
            j++;
        }
        i++;   //指向二维数组下一行 
        
        ch=getchar();   //读取新的一行的输入 
    //    printf("ch=%c\n",ch);        
    }
     
    for(i=0;i<10;i++){      //打印二维数组内容    
        printf("%s\n",s[i]);
    } 
    
}

#include <stdio.h>
#include <string.h>

int main()
{
    int m,N;
    char s[10][100];
    int i = 0, j = 0;
    char ch='\0';
    while (true)
    {
        scanf("%c", &ch);
        if (ch == '.')
        {
            s[i][j] = ch;
            i++;
            j = 0;
            continue;
        }
        else if (ch == '\n' || ch == '\t' || ch == '\0')
        {
            continue;
        }
        else if (ch == '#')
        {
            break;
        }
        else {
            s[i][j] = ch;
            j++;
        }
    }
    return 0;
}