大家帮忙看下 错在哪
goldfisher为了解救被绑架的未婚妻而来到了恶魔岛。上岛前,一个神秘的印度人yingnan告诉他恶魔岛处处布满陷阱,只有沿着地上标记数字和为最大的路径才能找到公主。为此他给goldfisher画了一个草图,假使地上标记的数字如下:1
2 3
.1 5 9
9 1 1 1
其中的最大路径是1-3-9-1,最大的和是14,只有沿着这条路径走,才能找到公主。goldfisher犯难了,因为现实中标记的数字更多,难度更大。你能帮助goldfisher找到正确的道路解救他的未婚妻吗?
注:地图为等腰三角形,必须置顶向下,且每次仅能访问相邻两个子路径。本例中:
第一层 1 可达 2、3 两点
第二层 2 可达 1、5 两点 ; 3 可达 5、9 两点,以此类推
输入:
本题包含多组测试数据,其中第一行为N(1 <= N <= 100),表示将要进过的关卡数。
接下来N行为通往目的地图。
通过判断End Of File结束程序
我的思想是从下向上累加,为什么出错?
#include<stdio.h>
#include<math.h>
#include<malloc.h>
int main()
{int *p;
int l,j ,k,n,h;
while(scanf("%d",&n)!=EOF)
{ k=0;
p=(int*)malloc((n+1)*n/2*sizeof(int));
for(l=0;l<n;l++)
for(j=0;j<=l;j++)
scanf("%d",&p[k++]);
for(;n>=2;n--)
{for(h=(n-1)(n-2)/2;h<n(n-1)/2;h++)
{p[h]=p[h+n]>p[h+(n-1)]?(p[h]+p[h+n]):(p[h]+p[h+(n-1)]);
}
}
printf("It will take him %d steps!\n",p[0]);
}
return 0;
}
请大家指点下 多谢了 我刚刚自学
运行出错
----------------解决方案--------------------------------------------------------
怎么没人答啊
----------------解决方案--------------------------------------------------------
先改好你的语法错误再说吧
----------------解决方案--------------------------------------------------------
我就郁闷你为啥提交那么多次,错误信息也提示了你那么多次,
但你却没发现错误的地方,之前有好几份代码你都把stdlib.h给拼写错
----------------解决方案--------------------------------------------------------
哦 不好意思 ,我刚刚学 ,除了那 ,还有其他的错误在那啊.n和n-1有错 是哪啊
----------------解决方案--------------------------------------------------------
版主说下啊,多谢了
----------------解决方案--------------------------------------------------------
麻烦你自己用编译器编译一下,你肯定没有自己编译过
P.S. 对于语法错误偶不喜欢直言相告
----------------解决方案--------------------------------------------------------
哦.......
----------------解决方案--------------------------------------------------------
while(scanf("%d",&n)!=EOF)。。。。。。。。。
EOF是文件尾啊。。。。。。。。。。。。
----------------解决方案--------------------------------------------------------
回复 9# 的帖子
scanf是可以返回eof的,比如ctrl-z(windows下),ctrl-d(unix下) ----------------解决方案--------------------------------------------------------