这题主要就是输入输出的问题,其实很简单的一道题。。。
之前我先用int型的map去存,发现输入的时候数字都是连在一起的输入,所以无法正确输入,后来用char型数组就好了。。。
这题是第98题,马上就破百了!!
刷完这题,居然手头的一个困扰我已久的项目也有思路了。。欧耶~~~
AC的代码:
#include <stdio.h> #include <string.h> char map[20][20]; void myPrint(int R,int C) { //printf("\n这里输出\n"); int i,j; for(i=0;i<R-1;i++) { for(j=0;j<C-1;j++) printf("%c",map[i][j]); printf("\n"); } } void process(int R,int C) { int i,j; for(i=0;i<R-1;i++) for(j=0;j<C-1;j++) map[i][j]=(map[i][j]+map[i+1][j]+map[i][j+1]+map[i+1][j+1]-48*4)/4+48; myPrint(R,C); } int main() { char startFlag[20]; int R,C; char end[5]; int i,j; while(scanf("%s",startFlag)) { if(strcmp(startFlag,"ENDOFINPUT")==0) return 0; scanf("%d%d",&R,&C); for(i=0;i<R;i++) scanf("%s",map[i]); process(R,C); //myPrint(R,C); scanf("%s",end); } return 0; }