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; }