求助:计算机编程,用C语言实现统计由符号空格和*号组成的表格中,由*号组成水平线、垂直线、对角线的数量
											  
	
		
			 
					
				
			如上图所示,两个功能:
1、输入表格,可以为二维数组,元素只能由#、空格、*号组成,*号是水平和垂直方向交口,表格大小固定13*13
2、统计由*组成的线(至少由2个连续*号组成),水平线、垂直线、对角线各是多少
 
					
				
			 2012-09-03 01:51
	    2012-09-03 01:51
   2012-09-04 11:33
	    2012-09-04 11:33
   2012-09-04 12:54
	    2012-09-04 12:54
   2012-09-04 13:16
	    2012-09-04 13:16
   程序代码:
程序代码:#include<stdio.h>
void lines_count(char map[13][13], int * ch, int * cv, int * cd)
{
    int i, j;
    *ch = *cv = *cd = 0;
    for(i = 1; i < 12; i++)
    for(j = 1; j < 12; j++)
    {
        if(map[i][j] != '*') continue;
        if(map[i][j - 1] != '*' && map[i][j + 1] == '*') (*ch)++;
        if(map[i - 1][j] != '*' && map[i + 1][j] == '*') (*cv)++;
        if(map[i - 1][j - 1] != '*' && map[i + 1][j + 1] == '*') (*cd)++;
        if(map[i - 1][j + 1] != '*' && map[i + 1][j - 1] == '*') (*cd)++;
    }
}
int main()
{
    char map[13][13], str[16];
    int i, j, hlines, vlines, dlines;
   
    for(i = 0; i < 13; i++)
    for(gets(str), j = 0; j < 13; map[i][j] = str[j++]);
   
    lines_count(map, &hlines, &vlines, &dlines);
   
    printf("The grid contains\n");
    printf("  - %d horizontal lines\n", hlines);
    printf("  - %d vertical lines\n", vlines);
    printf("  - %d diagonal lines\n", dlines);
   
    return 0;
}
										
					
	
 2012-09-04 14:24
	    2012-09-04 14:24
   2012-10-01 08:53
	    2012-10-01 08:53
   2012-10-01 20:40
	    2012-10-01 20:40
   2012-10-04 16:29
	    2012-10-04 16:29