新人求帮助,哪位大神有空能帮我看看代码哪里出错了,谢谢
prog1.zip
(954 Bytes)
题目是有一个txt格式的文件, 里面的数字都是整数且只有一行,以空格隔开,但长度未知。现在要求写一段代码读取该文件中所有的数字并且求和,还要算出每个数字所对应的斐波纳契数列。自己尝试写了一段但是完全没法运行,求帮助!万分感谢!
程序代码:
#define MAX_NUM 256 #define MAX_L 256 #include <stdio.h> #include <stdlib.h> #include <string.h> int fib (int n){ int f[n+1]; f[1]=f[2]=1; for (int i = 3; i<n; i++){ f[i] = f[i-1] + f[i-2]; } return f[n]; } int main(int argc, char *argv[]){ char file[100]; int sum = 0; int a[MAX_NUM]; FILE *myFile = fopen("input.txt", "r"); if(myFile==NULL){ printf("error\n"); } else{ int n = 0; int l = 0; //int sum = 0; char ch = getc(myFile); while(ch!=EOF){ char str[MAX_NUM]=" "; while(1){ if(ch == ' '){ a[l]=atoi(str); n=0; l++; ch = getc(myFile); break; } } } } printf("The Fibnacci Sequence of each number is:\n"); for(int i=0;i<MAX_L;i++){ sum = sum + a[i]; printf("Fib(%d) is %d\n", a[i], fib(a[i])); } printf("Sum is %d\n", sum); fclose(myFile); return 0; }
[此贴子已经被作者于2017-3-22 06:47编辑过]