求助 求大佬帮忙看看多组测试数据怎么输入
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;
}求大佬帮帮 #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");
}
}
}
随便看看吧 lei1996 发表于 2020-5-23 13:14
#include
int main()
{
结束程序能就以一个回车代表结束吗 susang33 发表于 2020-5-23 13:27
结束程序能就以一个回车代表结束吗
那是就输出两个矩阵就回车结束吗 lei1996 发表于 2020-5-23 13:53
那是就输出两个矩阵就回车结束吗
对吧 题目也没说有几组数据{:10_269:} #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");
}
}
} 这会输完矩阵 直接两个回车就退出了
页:
[1]