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\n", 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);  文件指针在操作完了之后需要关闭。

时间: 2024-09-30 00:10:43

c语言从文件中读取数据作为输入的相关文章

从plist文件中读取数据

//从plist文件中读取数据- (void)readDataFromPlist{    //1.先获取文件路径    NSString * filePath = [[NSBundle mainBundle] pathForResource:@"Book" ofType:@"plist"];    //2.根据路径初始化字典对象    self.dic = [NSMutableDictionary dictionaryWithContentsOfFile:fileP

Mean and Standard Deviation-从文件中读取数据计算其平均数和标准差

Meanand Standard Deviation-从文件中读取数据计算其平均数和标准差 //Meanand Standard Deviation-从文件中读取数据计算其平均数和标准差 #include<iostream> #include<fstream> #include<cstdlib> #include<cmath>   int main() {     usingnamespace std;     ifstream fin;     ofstr

【Python】从文件中读取数据

从文件中读取数据 1.1 读取整个文件 要读取文件,需要一个包含几行文本的文件(文件PI_DESC.txt与file_reader.py在同一目录下) PI_DESC.txt 3.1415926535 8979323846 2643383279 5028841971 file_reader.py with open("PI_DESC.txt") as file_object: contents = file_object.read() print(contents) 我们可以看出,读取

从Matlab .fig文件中读取数据,并重新绘图

Matlab提供了强大的函数集合,可以从.fig文件中读取图中的数据,并重新绘制图形.如果原始数据丢失,我们可以从.fig文件中恢复原始数据,并基于原始数据做进一步的处理. 以下是一个从两个不同文件中读取原始数据,并重新绘制图形的例子. h1 = openfig('1.fig','reuse'); % open figure D1=get(gca,'Children'); %get the handle of the line object XData1=get(D1,'XData'); %ge

从txt文件中读取数据放在二维数组中

1.我D盘中的test.txt文件内的内容是这样的,也是随机产生的二维数组 /test.txt/ 5.440000 3.4500006.610000 6.0400008.900000 3.0300000.140000 2.7400008.920000 7.2900002.580000 7.4300001.850000 6.1300001.350000 4.280000 ... ... 2.在我的test.cpp中添加头文件,即可使用FILE类来读取txt文件中的数据 #include <stdi

用C语言对文件中的数据进行处理

本博客中有用verilog处理文件数据的代码,本博文采用C 处理文件中的数据. 有时候要生成一个mif文件—— altera memory  initial file.本次工程中我得到的是一个大型的数据矩阵一样的东西,我需要慢慢靠近把它处理成mif格式. 第一个程序,把文件读进来是这么干的 1 //date :2016/07/09 2 //designer:cobbpeng 3 //version :00 4 //function: 5 6 #include "stdio.h" 7 /

Java—从文件中读取数据

1.FileInputStream() // 构建字节输入流对象,参数为文件名 FileInputStream fin = new FileInputStream("message"); System.out.println("输入流可读入字节数:" + fin.available()); // 建立byte型数组b,从输入流读取的数据暂时存放在b中 byte b[] = new byte[fin.available()]; // 从输入流读取数据 fin.read

springMVC从上传的Excel文件中读取数据

示例:导入客户文件(Excle文件) 一.编辑customer.xlsx 二.编辑jsp(addCustomer3.jsp) <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefi

Python从文件中读取数据(2)

一.读取文件中各行的内容并存储到一个列表中 继续用resource.txt 举例 resource.txt my name is joker, I am 18 years old, How about you? test.py 1 file_name = 'resource.txt' 2 3 with open(file_name) as file_obj: 4 lines = file_obj.readlines() 5 print(lines) 控制台打印如下: 解释:可以看到在file_o