首页 > 其他 > 详细

杭电2084 数塔

时间:2014-11-01 07:30:26      阅读:292      评论:0      收藏:0      [点我收藏+]

第一次提交的时候,有一个小的毛病,就是在第二个for循环中没有再定义i,后来百度才知道

这个错误是因为在当前for循环里面直接定义了i,i的作用范围就只在这一个for循环里面,如果在下一个for循环里面之间用i,就会报错

下面是更改后的代码

#include<stdio.h>
int max(int a,int b)
{
    if(a>=b)
        return a;
        else
           return b;
}

int main()

{

    int t,num,k,a[105][105];

    scanf("%d",&t);

    while(t--)

    {

        int sum=0;

        scanf("%d",&num);

        k=num;

            for(int i=1;i<=k;i++)

            {   for(int j=1;j<=i;j++)

            scanf("%d",&a[i][j]);}

        for(int i=k-1;i>=1;i--)

        {
            for( int j=1;j<=i;j++)
             a[i][j]+=max(a[i+1][j],a[i+1][j+1]);//从倒数第二行开始,前一行从其相邻的后一行中选择最大的值累加

        }
        printf("%d\n",a[1][1]);
    }

}

  

 

杭电2084 数塔

原文:http://www.cnblogs.com/wuyuewoniu/p/4066352.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!