| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 338 人关注过本帖
标题:咋重复了一个?
只看楼主 加入收藏
yao_yao
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-3-5
收藏
 问题点数:0 回复次数:1 
咋重复了一个?

#include<fstream>
#include<iostream>
#include<cstdlib>
using namespace std;

struct fnum{
char a[1001];
int len;
};

void ff(fnum *f1,fnum *f2)
{
fnum f3;
int len,jw=0;
len=f1->len>f2->len?f1->len:f2->len;
f3.len=len;
for(int i=0;i<len;i++){
f3.a[i]=f1->a[i]-'0'+f2->a[i]-'0'+jw;
jw=f3.a[i]/10;
f3.a[i]=f3.a[i]%10+'0';
}
if(jw==1){
f3.a[i]='1';
f3.len++;}
for(i=0;i<f3.len;i++){
f1->a[i]=f2->a[i];f1->len=f2->len;
f2->a[i]=f3.a[i];f2->len=f3.len;
}

}

int main()
{
fnum f1,f2;
int i,num;
for(i=1;i<1001;i++){
f1.a[i]='0';
f2.a[i]='0';
}
f1.a[0]='1';
f2.a[0]='1';
f1.len=1;f2.len=1;
ifstream inf("in.txt",ios::in);
if(!inf){
cerr<<"can't open"<<endl;
exit(1);}
ofstream out("out.txt",ios::out);
if(!out){
cerr<<"can't open"<<endl;
exit(1);}
while(!inf.eof()){
inf>>num;
while(num!=2){
ff(&f1,&f2);
num--;}
for(i=f2.len-1;i>=0;i--){
out<<f2.a[i];}
out<<endl;

}

return 0;
}



小弟刚学C++,正想学文件输入输出,编了一Fibonacci Numbers的高位数的求解,我在("in.txt")输入的两个数
15和120;但("out.txt")得到三个数,,
610
2791715456571051233611642553
2791715456571051233611642553
有一个重了,但小弟不知道是,咋的。。是不是我的文件输入输出用错了?还是。。。。?请大侠指点一下,,谢谢!!!

搜索更多相关主题的帖子: include 
2007-03-17 21:07
yao_yao
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-3-5
收藏
得分:0 
咋没人回哦!!!
2007-03-18 20:03
快速回复:咋重复了一个?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020757 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved