输入英语文章,存到二维数组里。
遇 句号 则开始停止本行输入,开始下一行的输入。
遇#停止输入
如把
abcd.
ABC.
AAA.#
存到s[10][100]里
#不存入数组
输入英语文章,存到二维数组里。
遇 句号 则开始停止本行输入,开始下一行的输入。
遇#停止输入
如把
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]);
}
}