博主在做一道算法题,验证哥德巴赫猜想,这道题百度一下全是答案,各种代码任你选择。但是博主的书上有个要求,要求从input.txt输入,从output.txt输出。
格式是
intput.txt中的示例数字为:
4
6
8
10
那么问题来了,如何读取这段数字,博主的思路是把这个读入到数组里,然后一个一个调出来验证猜想就好了,输出到文件也方便。但是,就是这样一个输出到数组,折腾了博主好久(博主很菜,勿喷。)
当用fgets()函数时,它每次只读取一个字节,就是说,a[0]=4,a[1]=6,a[2]=8,a[3]=1,a[4]=0所以两位数就不要考虑这个了,而且这个函数的参数是char*,如何将char*转为int类型也是个问题,不然没法比较。
虽然fgets()是按行读取,但是这个直接是字符串数组,都没有a[某某]。
不罗嗦了,直接贴代码。
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *fp;
fp=fopen("input.txt","r");
if(fp==NULL)
puts("file open error");