二维数组操作..,纯条件判断,C语言实现

二维数组操作

http://www.nowcoder.com/questionTerminal/2f8c17bec47e416897ce4b9aa560b7f4

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;
}
全部评论

相关推荐

一颗宏心:华为HR晚上过了十二点后还给我法消息。
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务