#include
int main()
{
int Array[][10]={0};
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; i++)
{
printf("%d",Array1[i]);
printf("\n");
}
return 0;
}
int Array[][10]={0};这样定义二维数组的方式不对
这样相当于int Array[1][10]={0};只是定义了一个一行十列的数组
楼主输入两行的数据越界读写了,程序自然崩了
改成大点的二维数组就行了int Array[10][10]={0};
如果是GCC编译器还支持动态创建
int N,i,j,sum=0;
scanf("%d",&N);
int Array[N][10]={0};
int Array1[100];
int High;