首页 > 代码库 > 杭电2084 数塔

杭电2084 数塔

第一次提交的时候,有一个小的毛病,就是在第二个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 数塔