susang33 发表于 2020-5-23 11:31:50

求助 求大佬帮忙看看多组测试数据怎么输入

Description
输入一个正整数n(1<= n <= 6)和n阶方阵a中的每一个元素,如果a是上三角矩阵,输出“YES",否则输出”NO"(上三角矩阵即主对角线以下的元素都为0的矩阵,主对角为从矩阵的左上角至右下角的连线)。

Input
多组测试数据,每组输入一个正整数n,和n行n列的整数,每一行回车结束

Output
Sample Input
3
1 2 3
0 4 5
0 0 6
4
1 2 3 4
5 6 7 8
9 0 11 12
13 0 0 16
Sample Output
YES
NO
第一次做oj题不知道多组测试数据怎么输入输出,搜到的也是每组一行的,现在遇到这种情况
这种和题目输出也不一样 还无法结束不知道怎么改了T T
#include <stdio.h>

int main()
{
        int n;
        while(~scanf("%d",&n)){
                int i,j,flag=1,a;       
       
                for(i=0;i<n;i++){
                        for(j=0;j<n;j++){
                                scanf("%d",&a);
                        }
                }
                       
                for(i=0;i<n;i++){
                        for(j=0;j<i;j++){
                                if(a != 0){
                                        flag = 0;
                                        break;
                                }
                        }
                }
               
                puts(flag?"YES\n":"NO\n");
        }
        return 0;
}求大佬帮帮

lei1996 发表于 2020-5-23 13:14:15

#include<stdio.h>
int main()
{
        printf("Sample Input(输入10086退出)\n");
        int n;
        int a = {0};
        bool output;
        int flag = 0;
        int num = 0;
        while (true) {
                scanf("%d", &n);
                if (n == 10086) {
                        printf("退出\n");
                        break;
                }
                for (int i = 0; i < (n*n); i++) {
                        scanf("%d", a + i);
                }
                //if (a != 0) {
                //        flag = 1;
                //}
                for (int i = 1; i < n; i++) {
                        for (int j = i; j > 0; j--) {
                                if (a != 0) {
                                        flag = 1;
                                        break;
                                }
                        }
                        if (flag == 1) {
                                break;
                        }
                }
                if (flag == 1) {
                        output = false;
                }
                else {
                        output = true;
                }
                num++;
        }
        printf("Sample Output\n");
        for (int i = 0; i < num; i++) {
                if (output) {
                        printf("YES\n");
                }
                else {
                        printf("NO\n");
                }
        }

       
}

随便看看吧

susang33 发表于 2020-5-23 13:27:51

lei1996 发表于 2020-5-23 13:14
#include
int main()
{


结束程序能就以一个回车代表结束吗

lei1996 发表于 2020-5-23 13:53:13

susang33 发表于 2020-5-23 13:27
结束程序能就以一个回车代表结束吗

那是就输出两个矩阵就回车结束吗

susang33 发表于 2020-5-23 13:56:35

lei1996 发表于 2020-5-23 13:53
那是就输出两个矩阵就回车结束吗

对吧 题目也没说有几组数据{:10_269:}

lei1996 发表于 2020-5-23 14:15:47

#include<stdio.h>
int main()
{
        printf("Sample Input(输入10086退出)\n");
        int n;
        int a = {0};
        bool output;
        int flag = 0;
        int num = 0;
        while (true) {
                char gc = getchar();
                if (gc == '\n') {
                        break;
                }               
                else {
                        n = (int)(gc - '0');
                }
                for (int i = 0; i < (n*n); i++) {
                        scanf("%d", a + i);
                }
                for (int i = 1; i < n; i++) {
                        for (int j = i; j > 0; j--) {
                                if (a != 0) {
                                        flag = 1;
                                        break;
                                }
                        }
                        if (flag == 1) {
                                break;
                        }
                }
                if (flag == 1) {
                        output = false;
                }
                else {
                        output = true;
                }
                num++;
                getchar();
        }
        printf("Sample Output\n");
        for (int i = 0; i < num; i++) {
                if (output) {
                        printf("YES\n");
                }
                else {
                        printf("NO\n");
                }
        }
       
       
}

lei1996 发表于 2020-5-23 14:16:26

这会输完矩阵 直接两个回车就退出了
页: [1]
查看完整版本: 求助 求大佬帮忙看看多组测试数据怎么输入