为什么算法错了
把上三角元素分别加1(包括对角线)*/#include<stdio.h>main(){inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};inti,...
把上三角元素分别加1(包括对角线)
*/
#include <stdio.h>
main()
{
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j>=i;j++)
a[i][j]+=1;
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%d\t",a[i][j]);
}
} 展开
*/
#include <stdio.h>
main()
{
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j>=i;j++)
a[i][j]+=1;
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%d\t",a[i][j]);
}
} 展开
2个回答
展开全部
上三角 是指的左上三角还是右上三角。
不管哪种,你这个循环条件都不对。
左上三角赋值部分
for(i=0;i<3;i++)
{
for(j=0;j<=i;j++)
a[i][j]+=1;
}
右上三角 赋值部分
for(i=0;i<3;i++)
{
for(j=i;j<3;j++)
a[i][j]+=1;
}
另外输出部分每行最好换行。
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%d\t",a[i][j]);
}
printf("\n");
}
追问
题目说要包括对角线,那么右上三角形,判断条件为什么不能是i<=j呢?
追答
对于右上,i=j是起点。 从每行对角线向右才是右上的部分。 所以不可以是从0开始,而是从i开始到最右
来自:求助得到的回答
2017-08-23
展开全部
第一个a1是2不是1最后结果要减去2的0次方。求得结果是前n-1项和,求a1需要n=2。应该是1错2对.求前n项目:(1)2^0+2^1+2^2++2^(n-1)-2^0Sn-1=1(1-2^n)/(1-2)-2^0=2^n-1-2^0=2^n-2;n=n+1得到S(n+1-1)=Sn=2^(n+1)-2;(2)2^1,2^2,2^4,,2^nSn=2(1-2^n)/(1-2)=2^(n+1)-2;明白了吗,宝贝,有什么问题可以追问注意数列求和,n是大于0的整数,不包括第0项
追问
这个不是数列求和啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询