(写一个应该检查矩阵(4x5)是否稀疏的C函数。知道:稀疏矩阵是一个矩阵,其零大于其大小的一半。)
对于外出主题的表单而言,这是一个问题 这是我的代码:
#include <stdio.h>
#include <stdlib.h>
int Spare(int [4][5]);
int main()
{
int arr[4][5];
int m,n;
for(m=0;m<4;m++){
for(n=0;n<5;n++){
scanf("%d ",&arr[4][5]);
}
}
Spare(arr[4][5]);
return 0;
}
int Spare(int Arr[4][5]){
int i,j;
int zerocount=0;
for(i=0;i<4;i++){
for(j=0;j<5;j++){
if(Arr[i][j]==0){
zerocount++;
}
}
}
if(zerocount>=10) return 1;
else return 0;
}
它正在运行但是在用户输入数组的输入后它停止工作! 任何帮助人员?
答案 0 :(得分:0)
将scanf("%d",&arr[4][5])
更改为scanf("%d",&arr[m][n])
。您只是在循环中将输入存储在arr[4][5]
中。
Spare(arr[4][5])
仅传递第五行和第六列的元素,但不存在。
Spare
函数需要一个数组作为参数,而您只传递单个元素。
函数调用必须以这种方式完成:Spare(arr)