text我必须创建一个数组A[n][n]。在这个数组中,用户放入一些数字,然后从这个数组中创建第二个数组C[n],其中的数字是正数,从第一个数组开始逐行排列。我尝试用这种方法来做,但在这种方法中,对于每个数字,它必须只按行排列。必须看起来像这样,例如A00:1 A01:-3 A02:5 A10:-7 A11:-8 A12:7 A20:6 A21:9 A22:10
但在我看来这是错误的。如果有人知道问题在哪里,我将非常感谢。
> const int n=10;
int a[n][n];
int c[n];
int i,j,k,suma;
printf("vuvedete br redove i stalbove n=");
scanf ("%d",&n);
for (i=0;i<n;i++){
for (j=0;j<n;j++){
do{
printf("a[%d][%d]=",i,j);
scanf("%d",&a[i][j]);
}
while(a[i][j]<-1000||a[i][j]>1000);
}
}
suma=0;
for (i=0;i<n;i++){
for (j=0;j<n;j++){
if (a[i][j]>0){
suma=suma+1;}
}
}
for(k=0;k<n;k++){
printf("c[%d]=%d",k,suma);
}
return 0;
}
1条答案
按热度按时间3qpi33ja1#
主要变化:
1.填充数组
c[]
并丢弃变量suma
。这是代码的主要问题。1.您将
n
声明为const
,但允许用户输入其值。我已经删除了const并使用#define设置数组的最大维数。1.删除while循环-这是什么?
1.将军收拾东西。