C语言实现,这个题和二维数组有什么关系...
1. 注意题意,测试不通过时多看看题目
2. 多个输入时,按照本题的运行结果,可以在循环中判断最后一项scanf的返回值是否为EOF;
或者把输入全写在一个scanf函数然后判断是否完成最后一个用例
#include <stdio.h>
int main()
{
while(1){
int m,n;
int swap1[2]={0};
int swap2[2]={0};
int insertR,insertC;
int pos[2]={0};
scanf("%d %d",&m,&n);
scanf("%d %d",&swap1[0],&swap1[1]);
scanf("%d %d",&swap2[0],&swap2[1]);
scanf("%d",&insertR);
scanf("%d",&insertC);
if(scanf("%d %d",&pos[0],&pos[1])!=EOF){ // 这样处理输入测试没有问题
if(m<=9 && n<=9){
printf("0\n");
}else{
printf("-1\n");
}
// printf("%d %d %d %d\n",swap1[0],swap1[1],swap2[0],swap2[1]);
if(swap1[0]>=0 && swap1[0]<m && swap1[1]>=0 && swap1[1]<n &&
swap2[0]>=0 && swap2[0]<m && swap2[1]>=0 && swap2[1]<n){
if(swap1[0]==swap2[0] && swap1[1]==swap2[1]){
printf("-1\n");
}else{
printf("0\n");
}
}else{
printf("-1\n");
}
// 此处题目是指插入的行列是否在表格的行列之中,而不是插入后表格的行列是否仍满足最大9*9...
// 插入操作时,对m*n表格,插入行号只允许0~m,插入列号只允许0~n !!! 不要想当然,注意题意
if(insertR>=0 && insertR < m){
printf("0\n");
}else{
printf("-1\n");
}
if(insertC>=0 && insertC < n){
printf("0\n");
}else{
printf("-1\n");
}
if(pos[0]<m && pos[1]<n){
printf("0\n");
}else{
printf("-1\n");
}
}else{
break;
}
}
return 0;
}