广州市番禺区房管局:c++语句.我把我知道的说一下.然后您看看哪里出了问题

来源:百度文库 编辑:神马品牌网 时间:2024/05/15 04:16:37
#include<iostream.h>
int f(int a[][3],int m,int n) //定义一个数组,[]行3列, 和整形变量m和n
{
int i,j,t=1; //定义整形变量
for(i=0;i<m;i++) //执行for双循环. 这里m 和 n的值是什么?
for(j=0;j<n;j++)
{
a[i][j]++;
if(i==j) t*=a[i][j];} //对角线上的值相乘然后给t
return t; //返回t
}

void main()
{ int a[][3]={0,1,2,3,4,5,6,7,8}; //给数组赋值
cout<<f(a,3,3)<<endl;} //这里是?

我想楼主的意思是让我们把他的注释看一下吧,不是让看程序了啊

把这段程序排了下版,这样更好理解;下面注释的够详细了吧,有点多余了的嫌疑.
记得,以后写程序千万别像我这样写注释!

#include<iostream.h>
int f(int a[][3],int m,int n) //定义函数f,函数f带了三个形式参数,分别是一个(? --这是动态的)行3列的整形数组和两个整形参数
{
int i,j,t=1; //定义整形变量
for(i=0;i<m;i++) //这里的双循环的意思是遍历数组
{
for(j=0;j<n;j++)
{
a[i][j]++; //这两个双循环过后,整个数组的每个元素的值都将增1
if(i==j)
t*=a[i][j];//整个双循环后,t=1×A00×A11×...×A(m-1)(n-1) 注:这个连乘式的第一项1是t的初值
}
}
return t; //返回t的值
}

void main()
{
int a[][3]={0,1,2,3,4,5,6,7,8}; //给数组赋值(知道赋值后的数组是几行几列吗?答案是3行3列)
cout<<f(a,3,3)<<endl; //将函数f的返回值输出
}

===
寒,没看到上面的if(i==j),这里的t*=a[i][j];的注释写错了
已改正

用编译程序运行一下,系统会提示你错在哪几行................

#include<iostream.h>
int f(int a[][3],int m,int n) //定义一个数组,[]行3列, 和整形变量m和n
{
int i,j,t=1; //定义整形变量
for(i=0;i<m;i++) //执行for双循环. 这里m 和 n的值是什么?
for(j=0;j<n;j++)
{
a[i][j]++;//错在这里,将其删掉
if(i==j) t*=a[i][j];} //对角线上的值相乘然后给t
return t; //返回t
}

void main()
{ int a[][3]={0,1,2,3,4,5,6,7,8}; //给数组赋值
cout<<f(a,3,3)<<endl;} //这里是?