C语言中,如何把一个函数的结果存放在文本文件中,并且不写在主程序内
就是我编一个程序是求分段函数的,需要把结果输入到文本文件中,但是输入到文本文件的语句又不能写在主程序main()中,应当怎么写。...
就是我编一个程序是求分段函数的,需要把结果输入到文本文件中,但是输入到文本文件的语句又不能写在主程序main()中,应当怎么写。
展开
4个回答
展开全部
看了你和别人的交流 直接上个代码吧
folat fun(float x);
float a,b;
main(){
scanf("输入x",&a);
b=fun(a);
printf("x=%f",b);}
float fun(float x){
float ret;
FILE* fp;
if(x<-1)ret = x;
if(x>=-1)ret = x*2;
fp = fopen("result.txt", "w");
fprintf(fp, "x=%f", ret);
return ret;
}
这样就是你要求的了
主函数不变 在fun中返回同时输入到文件 然后主函数正常输出
展开全部
不写在main函数中可以在其他函数中写,然后再main中调用
语句就是简单的fopen,fwrite,fclose
更多追问追答
追问
比如我的程序是这样的
folat fun(float x);
float a,b;
main(){
scanf("输入x",&a);
b=fun(a);
printf("x=%f",b);}
float fun(float x){
if(x=-1)return x*2;}
这时结果要输入到文本文件中,而且主程序只能是那三行,应该怎么写?
追答
输入输出处理都放在fun函数中
main函数如下
void fun(...);
int main()
{
fun();
return 0;
}
void fun(...)
{
scanf(...);
FILE*fp = fopen(..);
//do some calculate here
fwrite(fp,...);
fclose();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-01-04
展开全部
int main(){
FILE *fp = fopen("data.txt", "w++");
assert(fp != NULL);
int i = 0,k=0, count = 0;
for (i = 0; i < 20;i++)
{
fprintf( fp,"%d\n",i);
fclose(fp);
}
system("pause");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以把写入文本文件的代码编写在子函数中。
追问
比如我的程序是这样的
folat fun(float x);
float a,b;
main(){
scanf("输入x",&a);
b=fun(a);
printf("x=%f",b);}
float fun(float x){
if(x=-1)return x*2;}
这时结果要输入到文本文件中,而且主程序只能是那三行,应该怎么写?
追答
/*程序如下*/
#include<stdio.h>
#include<stdlib.h>
float fun(float x);
float a,b;
main(){
scanf("%f",&a);
b=fun(a);
printf("x=%f",b);}
float fun(float x)
{
float res;
if(x<-1)res=x;
if(x>=-1) res=x*2;
FILE *p;
p=fopen("C:\\test.txt","w");
fprintf(p,"%f",res);
return res;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询