主题:二维数组有关的加法怎么解
我编写了如下代码,本意是想计算a[0][0]+a[1][0];a[0][0]+a[2][0];a[0][0]+a[3][0];a[0][0]+a[4][0];依次类推. 将计算的结果分别用m0来表示得数为0的几个代数式的个数,用m1来表示得数为1的几个代数式的个数值,比如a[0][0]+a[1][0]=1,a[0][0]+a[2][0]=1那么m1=2,也就是说,有2个代数式的和为1.如果a[0][0]+a[3][0]=0,a[0][0]+a[4][0]=0,a[0][0]+a[5][0]=0那么m0=3
#include<iostream.h>
void main()
{
//声明变量
int m0,m1,i;
double k;
m0=0;
m1=0;
float a[4][10]={
{1,1,1,1,1,1,1,1,1,1},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0}
};
for (i=1;1<=3;i++)
{
k=a[0][0]*a[i+0][0];
if (k==0)
m0=m0 + 1;
if (k==1)
m1=m1 + 1;
}
cout<<"m0="<<m0<<" m1="<<m1<<endl;
}
在编译的时候正常,但是运行的时候就不对了.如图:
#include<iostream.h>
void main()
{
//声明变量
int m0,m1,i;
double k;
m0=0;
m1=0;
float a[4][10]={
{1,1,1,1,1,1,1,1,1,1},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0}
};
for (i=1;1<=3;i++)
{
k=a[0][0]*a[i+0][0];
if (k==0)
m0=m0 + 1;
if (k==1)
m1=m1 + 1;
}
cout<<"m0="<<m0<<" m1="<<m1<<endl;
}
在编译的时候正常,但是运行的时候就不对了.如图: