zoukankan      html  css  js  c++  java
  • c语言从文件中读取数据作为输入

    这次在厦门大学夏令营机试中遇到一个问题,它要求数据输入一定要从文件中输入,而不是从命令行中输入。

    当时我并不知道这个,所以机试我就GG了,回来之后立马翻看了书,查了资料。现在是搞清楚了。

     1 #include <stdio.h>
     2 
     3 // 计算斐波拉契数列
     4 
     5 int fib(int n)
     6 {
     7     if(n == 0 || n == 1)
     8         return n;
     9     else
    10         return fib(n-2) + fib(n-1);
    11 }
    12 
    13 int main()
    14 {
    15     int n, i;
    16     FILE *pf, *op;
    17     pf = fopen("input.txt", "r");
    18     op = fopen("output.txt", "w");
    19     fscanf(pf, "%d", &n);
    20     for(i = 0; i <= n; i++)
    21         fprintf(op, "%d
    ", fib(i));
    22     fclose(pf);
    23     fclose(op);
    24     return 0;
    25 }

    我这里写了一段用递归求斐波拉契数列的简短程序。

    使用文件输入就是在scanf的基础上,在上文件指针初始化、赋值,操作,关闭指针这四个步骤。

    初始化: FILE *pf

    赋值:pf = fopen("input.txt", "r");  后面的一个参数 r,w,r+等分别表示 只读,只写,二进制只读 方式打开文件

    操作:fscanf(pf, "%d", &n); 这里跟scanf操作类似,只是fcanf函数里多了一个 文件指针变量。

    关闭: fclose(pf);  文件指针在操作完了之后需要关闭。

  • 相关阅读:
    A promise tomorrow is worth a lot less than trying today.
    时间相关函数
    JAVA中日期格式转换各个字母代表含义
    参考链接
    修饰器
    最新提案
    ArrayBuffer
    读懂 ECMAScript 规格
    使用markdown写博客
    linux系统界面转换
  • 原文地址:https://www.cnblogs.com/hello-lijj/p/7229252.html
Copyright © 2011-2022 走看看