文件操作(OJ数据生成)

来源:互联网 发布:网络照片素材 编辑:程序博客网 时间:2024/05/01 04:26


直接贴模板:(仅是一个例题)

第一种:

#include<cstdio>#include <iostream>#include <cmath>#include<ctime>#include<cstdlib>using namespace std;int main(){    double n, p, k, tt;    FILE *fp1, *fp2;    if((fp1 = fopen("Problem1_in.txt","w")) == NULL)    {        printf("Error.\n");        exit(0);    }    srand((int)time(NULL));    for(int j = 0 ; j < 1700 ; j++ )    {        n = rand()%200+1;        tt = rand()%1000000000+1;        p = pow(tt,n);        fprintf(fp1,"%.0lf %.0lf\n",n,p);    }    fclose(fp1);    if((fp1=fopen("Problem1_in.txt","r"))==NULL)    {        printf("error.\n");        exit(0);    }    if((fp2=fopen("Problem1_out.txt","w"))==NULL)    {        printf("error.\n");        exit(0);    }    while(fscanf(fp1,"%lf%lf",&n,&p) == 2)    {        k = pow(p,1/n);        fprintf(fp2,"%.0lf\n",k);    }    fclose(fp1);    fclose(fp2);    return 0;}


第二种:

先在编译器上运行

#include <cstdio>#include <ctime>#include <cmath>#include <cstdlib>#define IN freopen("Problem1input.txt", "r", stdin)#define OUT freopen("Problem1output.txt", "w", stdout)#define OUT1 freopen("Problem1input.txt", "w", stdout)int main(){    OUT1;double n, p, k, tt;    srand((int)time(0));    for(int i = 0; i < 1700; i++)    {        n = rand()%200+1;        tt = rand()%1000000000+1;        p = pow(tt,n);        printf("%.0lf %.0lf\n",n,p);    }    return 0;}

然后再运行

#include <cstdio>#include <ctime>#include <cmath>#include <cstdlib>#define IN freopen("Problem1input.txt", "r", stdin)#define OUT freopen("Problem1output.txt", "w", stdout)#define OUT1 freopen("Problem1input.txt", "w", stdout)int main(){IN;OUT;double n, p, k;while(~scanf("%lf%lf",&n,&p)){k = pow(p,1/n);printf("%.0lf\n",k);}return 0;}





3 0
原创粉丝点击