计算二次函数的极值 通过输入系数值来获得该函数的极值点
stdio.h头文件的使用说明
stdio.h是stand input & output的缩写
意思是标准输入输出头文件。凡是用到标准输入输出函数,就要调用该头文件。
文件的输入读写切记最后要进行文件的关闭,否则输入会无效且会因其他操作造成数据的破坏。
函数原型为:_CRTIMP FILE * __cdecl fopen(const char *, const char *);
第一参数为文件名,第二个参数为打开模式。
打开成功,fopen返回一个结构指针地址,否则返回一个NULL。如果没有指定文件路径,则默认为当前工作目录。如:
*FILE fp;
fp = fopen(“c:\temp\test.txt”, “r”) //由于反斜杠\是控制字符,所以必须再加一个反斜杠
使用fopen()函数打开的文件会先将文件复制到缓冲区。注意:所下达的读取或写入动作,都是针对缓冲区进行存取而不是磁盘,只有当使用fclose()函数关闭文件时,缓冲区中的数据才会写入磁盘。
**最好是将所要读写的文件与你的C语言文件放到一个文件夹,这样就不用绝对路径(采用相对路径)
接下来是代码展示:
#include<stdio.h>
int main(void)
{
int i;
float a,b,c,x,y;
FILE*fp1;
FILE*fp2;
fp1=fopen("PARA.DAT.txt","r");
fp2=fopen("PARA.OUT.txt","w");
fprintf(fp2,"parabola number\t" "equoation\t" "(x,y)coordinate of min or max\n");
i=0;
while(!feof(fp1)){
i=i+1;
fscanf(fp1,"%g %g %g",&a,&b,&c);
x=(-b)/(2*a);
y=a*x*x+b*x+c;
if(a<0){
fprintf(fp2,"%d\t y=%gx*x+%gx+%g\t (%f,%f)min\n",i,a,b,c,x,y);
}
else{
fprintf(fp2,"%d\t y=%gx*x+%gx+%g\t (%f,%f)max\n",i,a,b,c,x,y);
}
}
fclose(fp1);
fclose(fp2);
}
关于一些小细节:
简单的描述C语言中格式符%g的用法
%g是一个很好用的格式符,在很多时候可以方便我们。
在输出的时候我们使用%g会有什么样的奇特用法呢,比如我们想要输出一个12.3,但是如果你选择使用%f作为格式符,就会输出12.300000。但是很多时候我们只想要打印出12.3,这个时候可以选择%g进行格式化,输出结果就会变成12.3。它将后面无用的0全部舍去了,可以在很多时候满足题目的要求。
%f用来输出实数,以小数形式输出,默认情况下保留小数点6位。