UVa232 Crossword Answers AC

输入一开始使用
while (gets(rc))
	{
		if(rc[0]=='0')
			break;
		n=1;
		xingnum=0;
		memset(s,0,sizeof(s));
		memset(num,0,sizeof(num));
		
		r=rc[0]-'0';//行数
		c=rc[2]-'0';

但是这样不会被AC,会出现running error可能gets读取了其他东西让rc越界了,这个BUG改了很久

贴上AC代码,这里的maxn不能小,小了会出现running error,10*10编号可能很大。

#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#define maxn 80
int main()
{
	int r=0,c=0;//行列
	int count=0,n=1;
	char s[10][10];
	char num[10][10];
	while (scanf("%d",&r)!=EOF&&r!=0)
	{
		scanf("%d",&c);
		getchar();//拿走回车
		n=1;
		memset(s,0,sizeof(s));
		memset(num,0,sizeof(num));	
		for(int i=0;i=0)&&(j-1>=0))
				{
					if (s[i-1][j]=='*'||s[i][j-1]=='*')
						num[i][j]=n++;
				}
			}
		if (count>0) putchar('\n');
		printf("puzzle #%d:\n",++count);
		printf("Across\n");
		for (int i=0;i


你可能感兴趣的:(UVa232 Crossword Answers AC)