你的任务是写一个程序进行字符识别。别担心,你只需要识别1, 2, 3,如下:
.*. *** ***
.*. ..* ..*
.*. *** ***
.*. *.. ..*
.*. *** ***
输入仅包含一组数据,由6行组成。第一行为字符的个数n(1<=n<=10)。以下5行每行包含4n个字符。每个字符恰好占5行3列,然后是一个空列(用"."填充)。
输出应包含一行,即识别出的各个字符。
3
.*..***.***.
.*....*...*.
.*..***.***.
.*..*.....*.
.*..***.***.
123
做这道题一定要注意用getchar()来清空回车符
做有关输入字符的题目一定要注意getchar()的用法
#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
int n,i,j;
char a[5][40];
scanf("%d",&n);
for(int i=0;i<5;i++)
{
getchar();
for(int j=0;j<4*n;j++)
scanf("%c",&a[i][j]);
}
for(int j=0;j<4*n;j+=4)
{
if(a[0][j]=='*'&&a[3][j]=='.')
{
printf("3");
continue;
}
if(a[1][j]=='.'&&a[3][j]=='*')
{
printf("2");
continue;
}
if(a[0][j]=='.'||a[0][j+1]=='.'||a[0][j+2]=='.')
{
printf("1");
continue;
}
printf("\n");
}
return 0;
}