关于杭电ACM的题目,求助!

我是上师大的学生,因为老师要求去做作为成绩,所以很紧张这门课。
但是不知道为什么,我明明在电脑上运出来了,可是传上去却总是显示我错误。求高手帮忙看看
这个是题目地址:
http://acm.hdu.edu.cn/diy/contest_showproblem.php?pid=1001&cid=20745

http://acm.hdu.edu.cn/diy/contest_showproblem.php?pid=1003&cid=20745

这个是两个题目的代码:
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
//老师的一直调试不出来,今天先试试看在网上学到的方法行不行。
int n,i,len1,len2,j,k,pi,t;
char str1[1001],str2[1001];//设置两个数组来存放数字
cin>>n;//输入有几组数字要相加
for(i=1;i<=n;i++)//开始计算
{
int a[1001]={0};//用来存放计算结果
cout<<"case"<<i<<endl;
cin>>str1>>str2;//以字符串形式读入
len1=strlen(str1);//判断字符串的长度
len2=strlen(str2);
cout<<str1<<"+"<<str2<<"=";
j=len1-1;//数组[]里的数字比实际长度小1
k=len2-1;
pi=0;
while(j>=0&&k>=0)//开始相加每一个位数
{
if(a[pi]+(str1[j]-'0')+(str2[k]-'0')>=10)//这里是相加后大

于10的情况讨论,相加是从最小的一位数开始。
{
a[pi]=a[pi]+(str1[j]-'0')+(str2[k]-'0')-10;//如果大于

10则减去10,同时上一位数进1
a[pi+1]++;
}
else//这里是相加后不大于10的情况讨论
a[pi]=a[pi]+(str1[j]-'0')+(str2[k]-'0');//就是直接相加
pi++;//不用进一位
k--;//同时位数不断从最小往最大推过去
j--;
}
for(t=pi-1;t>=0;t--)
{
cout<<a[t];//从高到低把每一个元素返出来
}
cout<<endl;
if(i!=n)//空行,方便观察计算结果
cout<<endl;
}
return 0;
}

#include<iostream>

using namespace std;

int main()
{
int N=0;
int Pi=0;
int t=0;
char strf[1000];
cout<<"请输入一个整数N"<<endl;
cin>>N;
cout<<1<<endl;
cout<<1<<endl;
for(t=3;t<=N;t++)
{
strf[1]=strf[2]=1;
strf[t]=strf[t-1]+strf[t-2];
Pi=strf[t];

if(Pi>=1&&Pi<=1000)
{

cout<<Pi<<endl;
}
}

}
我的总共没多少那个什么悬赏,全部拿出来了,求助啊!
第一个是大数相加:

第二个是大菲波数

Fibonacci数列,定义如下:
f(1)=f(2)=1
f(n)=f(n-1)+f(n-2) n>=3。

第1个回答  2013-09-13
diy的比赛吧,说下密码吧,要不看不到题= =
第2个回答  2013-09-04
To enter the private diy contest , please input the password !
木有
第3个回答  2013-09-04
看来也是个问题啊
相似回答