2 qq 27416233 qq_27416233 于 2016.04.20 12:38 提问

求大神 帮忙看下.为什么交不上去. 换行的 也试过了.中间带空格的也试过了

#include
int main()
{
int Array[20][10];
int Array1[100];
int N,i,j,sum=0;
int High;
scanf("%d",&N);
//************************************赋值
for(i = 0; i < N ; i++)
{
for(j = 0; j < 10; j++)
{
scanf("%d",&Array[i][j]);

}
}
//****************************
scanf("%d",&High);
//*************************************判断
for(i = 0; i < N ; i++)
{
for(j = 0; j < 10; j++)
{
if(Array[i][j]<=(High+30))
{
sum++;
}

}
Array1[i] = sum;
sum = 0;
}
for(i = 0; i < N-1; i++)
{
printf("%d ",Array1[i]);
//printf("\n");
}
printf("%d",Array1[N-1]);

return 0;
}

7个回答

u012891242
u012891242   2016.04.20 13:05

1.代码没有缩进 2.Array数组越界 3.输入读取有误(High应该有N个而不是1个)4.输出题目没描述清楚,应该是每组数据有一行输出吧

qq_27416233
qq_27416233 谢谢大神,提交了,大神能说下数组越界是怎么回事么?
一年多之前 回复
qq_27416233
qq_27416233   2016.04.20 12:39

图片说明

qq_27416233
qq_27416233   2016.04.20 12:39

图片说明

qq_27416233
qq_27416233   2016.04.20 12:41

求大神 多费费心 解释下.我实在是不想再出这样的错误了.太揪心了

u012891242
u012891242   2016.04.20 12:53

每组数据都有一个高度

huanongying131
huanongying131   2016.04.20 18:32

#include

int main()
{
int Array[20][10];
int Array1[100];
int N,i,j,sum=0;
int High;
printf(" 请输入N\n << ");
do{
scanf("%d",&N); //每输入一个数 按回车
if(-1<N||N<20)
break;
else
printf("输入错误 0<=N <20 ! 请重新输入\n << ");
}while(1) ;
//************************************赋值
for(i = 0; i < N ; i++)
{
for(j = 0; j < 10; j++)
{
printf(" %d,%d << ",i,j);
scanf("%d",&Array[i][j]); //每输入一个数 按回车

}

}
//****************************
printf(" 输入High << ");
scanf("%d",&High); //每输入一个数 按回车
//*************************************判断
for(i = 0; i < N ; i++)
{
for(j = 0; j < 10; j++)
{
if(Array[i][j]<=(High+30))
{
sum++;
}
}
Array1[i] = sum;
sum = 0;
}
for(i = 0; i < N; i++)
{
printf("%d ",Array1[i]);
}

return 0;
}

加do{ } while(1) 是为了防止输入 不适当的N

加 printf() 是为了 在输入很多数据时 不会因为 数据过多 而输入错误的数据

huanongying131
huanongying131   2016.04.20 18:33

#include

int main()
{
int Array[20][10];
int Array1[100];
int N,i,j,sum=0;
int High;
printf(" 请输入N\n << ");
do{
scanf("%d",&N); //每输入一个数 按回车
if(-1<N||N<20)
break;
else
printf("输入错误 0<=N <20 ! 请重新输入\n << ");
}while(1) ;
//************************************赋值
for(i = 0; i < N ; i++)
{
for(j = 0; j < 10; j++)
{
printf(" %d,%d << ",i,j);
scanf("%d",&Array[i][j]); //每输入一个数 按回车

}

}
//****************************
printf(" 输入High << ");
scanf("%d",&High); //每输入一个数 按回车
//*************************************判断
for(i = 0; i < N ; i++)
{
for(j = 0; j < 10; j++)
{
if(Array[i][j]<=(High+30))
{
sum++;
}
}
Array1[i] = sum;
sum = 0;
}
for(i = 0; i < N; i++)
{
printf("%d ",Array1[i]);
}

return 0;
}

加do{ } while(1) 是为了防止输入 不适当的N

加 printf() 是为了 在输入很多数据时 不会因为 数据过多 而输入错误的数据

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!