C语言编程 { int a[3][3]={ {1,2}, {3, 4}, {5, 6} }; 10
C语言编程{inta[3][3]={{1,2},{3,4},{5,6}};inti,j,s=0;for(i=0;i<3;i++)for(j=0;j<i;j++)s+=a[...
C语言编程
{ int a[3][3]={ {1,2}, {3, 4}, {5, 6} };
int i, j, s=0;
for(i=0; i<3;i++)
for(j=0; j<i; j++)
s+=a[i][j];
}
求输出的s的值
正确答案是19 为什么我算的21 19是怎么算的 展开
{ int a[3][3]={ {1,2}, {3, 4}, {5, 6} };
int i, j, s=0;
for(i=0; i<3;i++)
for(j=0; j<i; j++)
s+=a[i][j];
}
求输出的s的值
正确答案是19 为什么我算的21 19是怎么算的 展开
展开全部
为了便于查看计算的过程 我改了一下源码 :
#include "stdafx.h"
#include "process.h"
int main(int argc,char* argv[])
{
int a[3][3] = { { 1, 2 }, { 3, 4 }, { 5, 6 } };
int i, j, s = 0;
for (i = 0; i <3; i++)
{
printf("************************i=%d时候:******************************\n",i);
for (j = 0; j <= i; j++)//此处是<=不是<.j是可以等于i的
{
printf("-加之前的s=%d;a[j][i]=%d\n", s,a[j][i]);
s += a[i][j];
printf("-----i=%d,j=%d,a[i][j]=%d,s=%d-----\n", i, j, a[i][j], s);
}
}
printf("计算完成后的s=%d:\n",s);
system("pause");
return 1;
}
按照你手算出的答案 代码应该这样
#include "stdafx.h"
#include "process.h"
int main(int argc,char* argv[])
{
int a[3][3] = { { 1, 2 }, { 3, 4 }, { 5, 6 } };
int i, j, s = 0;
for (i = 0; i <3; i++)
{
printf("************************i=%d时候:******************************\n",i);
for (j = 0; j <3; j++)//这个地方改为<3 小于等于i的话 当i=0的时候……少遍历了一个元素2
{
printf("-加之前的s=%d;a[j][i]=%d\n", s,a[j][i]);
s += a[i][j];
printf("-----i=%d,j=%d,a[i][j]=%d,s=%d-----\n", i, j, a[i][j], s);
}
}
printf("计算完成后的s=%d:\n",s);
system("pause");
return 1;
}
2016-01-04
展开全部
//矩阵为:
// 1 2 0
// 3 4 0
// 5 6 0
// for(j=0; j<i; j++) 其中 j<i ; 是a[1][0],a[2][0],a[2][1] 三个相加的值 为 14.
// 若for(j=0; j<=i; j++),结果就是19了。
// 1 2 0
// 3 4 0
// 5 6 0
// for(j=0; j<i; j++) 其中 j<i ; 是a[1][0],a[2][0],a[2][1] 三个相加的值 为 14.
// 若for(j=0; j<=i; j++),结果就是19了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
亲,这些题不知道的话,拿去编译器运行一下,答案无可置疑好吗!!
正确答案为14
正确答案为14
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是19
追答
s+a0+a1,0+a1,1+a2,0+a2,1
相当于这样啊!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询