#includelong fibonacci(int n);int main(void){ int n=30;//求到第30位吧,50位不知道溢出多少了,大数运算我还不会 long sum; char str[100]; FILE *fp; fp = fopen("c:\\w.txt", "w");//指定输出的文本名 sum = fibonacci(n); printf("%ld\n",sum); fprintf(fp,"%ld",sum);//将结果输出到指定文件中 fclose(fp); system("pause"); return(0);}long fibonacci(int n){ long result; long a1, a2; long sum = 2; //从第三项开始的,所以sum初始值为2 result = a1 = 1; while (n > 2) { n -= 1; a2 = a1; a1 = result; result = a1 + a2; sum += result; }//我用的是迭代法,递归那效率算了吧,你用也可以,自己改下 return sum;}我能吐槽你调用函数怎么写在了main里面,还有那么多花括号干嘛的,唉,能运行才怪。
推荐你本书吧,C Primer Plus,值得拥有。
取消
评论