斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...
公式为:fn(a)=fn(a-1)+fn(a-2),用递归的方法求前50项的值,并写到一个文件中。
我会用递归写数列,写到文件中一点都不懂。 但还是依样画葫芦的试了下 但一直出错。
æ åæµç¨ä¸ºï¼
1 éè¿fopenå½æ°æå¼æ件ï¼
aï¼ åå
FILE * fopen(const char * path,const char * mode);
bï¼ åæ°
path为è¦æå¼çæ件åï¼å¯ä»¥æ¯ç»å¯¹è·¯å¾ï¼ä¹å¯ä»¥æ¯ç¸å¯¹è·¯å¾ã
mode为æå¼æ件çæ¹å¼ã对äºåæ件ï¼å¯ä»¥æ¯"w", "wb", "w+", "wb+","a", "a+", "ab", "ab+"çãè¿äºæ¨¡å¼é½å¯ä»¥æ¯æåæä½ï¼åºå«ä¸ºï¼
å
å«wç为ç´æ¥åå
¥ï¼å¦æ被æå¼çæ件已åå¨ï¼é£ä¹ä¼å¯¹æ件ä¸çåå§æ°æ®è¿è¡è¦çã
å
å«aç为éå 模å¼ï¼å¦æ被æå¼æ件已åå¨ï¼é£ä¹æ°åå
¥çå
容ä¼å¨æ件ç»å°¾æ·»å ã
å
å«bç模å¼ï¼æå¼çæ件æç
§äºè¿å¶æ¹å¼è¿è¡åå
¥ã
å
å«+ç模å¼ï¼æå¼çæ件为å¯è¯»åã
æ 论åªç§æ¹å¼ï¼å¦æåå§æ件ä¸åå¨ï¼åä¼å建该ååçæ°æ件ã
cï¼ è¿åå¼
è¿åå¼ä¸ºFILE *åï¼æ¯ä¸ä¸ªæ件æéãåç»æææä½åä¾èµè¿ä¸ªæ件æéå¼ã
å¦æè¿åå¼ä¸ºNULL,代表åºéã常è§çåºéåå å¯è½æ
æ件åå¨ï¼æä½è
没æåæéã
对æ件æå¨ç®å½æ²¡æåæéã
æ件æå¨ç£çååºå·²æ»¡ã
2 éè¿fwrite/fprintf/fputc/fputsçå½æ°åå ¥æ°æ®ï¼
aï¼ size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
åè½ä¸ºåæå¼çæ件streamä¸åå
¥æ¯å大å°ä¸ºsizeå
±è®¡countåæ°æ®ï¼æ°æ®çèµ·å§å°å为buffer,è¿åå®é
åå
¥çåæ°ï¼åºéæ¶è¿åè´å¼ã
b) int fprintf (FILE* stream, const char*format, [argument]);
åè½ä¸ºåæå¼çæ件streamä¸æ ¼å¼åè¾å
¥æ°æ®ï¼æ ¼å¼æformatå³å®ï¼åç»åæ°ä¸ºåå
¥çæ°æ®ï¼åè½ç±»ä¼¼äºprintfãè¿åå®é
åå
¥å符å¼ï¼åºéæ¶è¿åè´å¼ã
c) int fputc (int c, FILE*fp);
åè½ä¸ºåæå¼çæ件fpä¸åå
¥å符cã该å½æ°ä»
åå
¥ä¸ä¸ªå符ãåæ°cè½ç¶ä¸ºintåï¼ä½è¯¥å½æ°ä»
使ç¨å
¶ä½å
«ä½ã è¿åå¼ä¸ºè¾å
¥åæ°cçASCIIç ï¼åºéæ¶è¿å-1.
d) int fputs (const char *s, FILE *stream);
åè½ä¸ºåæå¼çæ件streamåå
¥å符串s(ä¸å
æ¬ç»æ符'\0')并å¢å ä¸ä¸ªæ¢è¡ç¬¦ãå³è¾å
¥çå
容å¨æ件ä¸æ¯ä»¥ä¸è¡çå½¢å¼åå¨çãè¿åå¼ä¸ºéè´æ´æ°ï¼åºéæ¶è¿åè´å¼ã
3 éè¿fcloseå½æ°å ³éæ件ï¼
int fclose (FILE *stream);
å
³éå·²æå¼çæ件streamï¼å¦ææåè¿å0ï¼å¦åè¿åè´å¼ã
以ä¸ææå½æ°è°ç¨æ¶ï¼é½éè¦å¼ç¨æ åè¾å ¥è¾åºå¤´æ件stdio.hã
以ä¸æ¯ä¸ä¸ªç®åçéè¿fwriteå½æ°ï¼åæ件test.txtä¸åå ¥ä¸è¡æµè¯å符串çæ ·ä¾ä»£ç ã
#include <stdio.h>//å¼å ¥å¤´æ件我能吐槽你调用函数怎么写在了main里面,还有那么多花括号干嘛的,唉,能运行才怪。
推荐你本书吧,C Primer Plus,值得拥有。
可以给个完整版么,已经弄得烦死了
追答已经有答案了,就不多说了。自己写程序要多练,不能烦。
本回答被网友采纳找不到。可以给我看看 这里错在哪里吗 。大恩不言谢
找不到。可以给个完整版吗吗吗, 大恩不言谢