1
내 코드는 지금까지 컴파일되고 실행되지만 출력 파일에서는 피보나치 수만 요구할 때 큰 정수를 제공합니다한 파일에서 숫자 읽기, 각 숫자의 fibonacci 번호 찾기 및 새 파일에 fibonacci 번호 쓰기
나는 피보나치 수를 찾기위한 루프가 정확하다고 생각한다. 제대로 작동했다는 다른 프로그램의 루프를 복사했기 때문이다.
#include <stdio.h>
#include <ctype.h>
#define SIZE 40
int main(void)
{
char ch, filename[SIZE]; //variables
int num;
int t1 = 0;
int t2 = 1;
int index;
int result;
FILE *fp;
printf("Please enter the filename to read: "); //asking for file that is to be read
gets(filename);
// "r" reads the file fopen opens the file
if ((fp = fopen(filename, "r")) == NULL)
{
printf("Cannot open the file, %s\n", filename);
}
else
{
puts("Successfully opened, now reading.\n"); //reads through file counting words, upper/lowercase letters, and digits.
while ((num=getw(fp)) != EOF)
{
if(num == 1) //if the nth term is 1
result = 0;
else if(num == 2) //if the nth term is 2
result = 1;
else //for loop to start at the 3rd term
{
for(index = 2; index <= num ; index++)
{
result = t1 + t2;
t1 = t2;
t2 = result;
}
}
}
}
fclose(fp); //closing the file
char filename2 [SIZE];
FILE *fp2;
fprintf(stdout, "Please enter the file name to write in: "); //asks for file that you want to write to
gets(filename2);
if ((fp2 = fopen(filename2, "w")) == NULL) //"w" for writing
{
printf("Cannot create the file, %s\n", filename2);
}
else
{
fprintf(fp2, "%d", result);
}
fclose(fp2); // closing the file
fprintf(stdout, "You are writing to the file, %s is done.\n", filename2);
return 0;
}
getw와 (과) 사용되는 텍스트 모드의 파일은 의심 스럽습니다. 입력 파일의 샘플을 제공 할 수 있습니까? 텍스트/바이너리입니까? –
input.in이라는 텍스트 파일 –