zoukankan      html  css  js  c++  java
  • C++高级语言程序设计实验八-中国矿业大学

    第一题

    题目描述

    【问题描述】
    编程序,对 k=1,2,3,…,14,15,按下式分别计算出 15 组(i,d,c):整数 i=2k-1;实数 d=kk+k-9.8;字符 c='H'+k。并通过使用运算符“<<”将这15组数据保存到当前目录下自定义的text型磁盘文件ft.txt之中。
    【输入形式】

    【输出形式】
    文件内容要求:每组占一行,每行中的输出项用一个空格进行分割。
    【样例输入】

    【样例输出】
    文件内容格式如下:
    1 -7.8 I
    3 -3.8 J
    5 2.2 K
    7 10.2 L

    源代码

    #include<iostream>
    #include<fstream>
    using namespace std;
    int main()
    {
        ofstream outfile("ft.txt");
        if (!outfile)
        {
            cerr<<"open ft.txt"<<endl;
            exit(1);
        }
        for (int k=1; k<16; k++)
        {
            outfile<<2*k-1<<" "
    <<k*k+k-9.8<<" "<<char('H'+k)<<endl;
        }
        outfile.close();
        return 0;
    }
    

    运行结果

    第二题

    2.1题目描述
    【问题描述】
    通过使用运算符“>>”和“<<”,对自定义的text型磁盘文件进行如下的指定操作。
    (1)对i=1,2,3,...,15,计算d=ii+0.5,并将15个结果写出到自定义的text型磁盘文件f1.txt中(注意,f1文件中的数据从小到大有序);
    (2)对i=1,2,3,...,10,计算d=10
    i+0.5,并将10个结果写出到自定义的text型磁盘文件f2.txt中,而后再写出第11个数:357.9(注意,f2文件中的数据也从小到大有序);
    (3)读出文件f1.txt以及f2.txt中的数据,用来形成text型磁盘文件f3.txt,但要求存放于f3.txt中的数据仍然是有序的(按照从小到大的顺序);
    【输出形式】
    输出到f3.txt文件中(一行,数据间间隔为一个空格)
    【样例输入】

    【样例输出】
    1.5 4.5 9.5 10.5 16.5...

    源代码

    #include<iostream>
    #include<fstream>
    using namespace std;
    double sort(double x[])
    {
        for(int i=0;i<24;i++)
        {
            for(int j=0;j<24-i;j++)
            {
                if(x[j]>x[j+1])
                {
                    int t=x[j];
                    x[j]=x[j+1];
                    x[j+1]=t;
                }
            }
        }
        return x[25];
    }
    int main(){
        fstream f1("f1.txt",ios::out);
        for(int i=1;i<=15;i++)
        {
            double d=i*i+0.5;
            f1<<d<<" ";
        }
        f1.close();
        fstream f2("f2.txt",ios::out);
        for(int i=1;i<=10;i++)
        {
            double d=10*i+0.5;
            f2<<d<<" ";
        }
        f2.close();
        ofstream f3("f3.txt");
        double arr[25];
        f1.open("f1.txt",ios::in);
        f2.open("f2.txt",ios::in);
        for(int i=0;i<25;i++)
        {
            if(i<15)
            {
                f1>>arr[i];
            }
            else
            {
                f2>>arr[i];
            }
        }
        sort(arr);
        for(int i=0;i<25;i++)
        {
            f3<<arr[i]<<" ";
        }
        f1.close();
        f2.close();
        f3.close();
    }
    

    运行截图

    第三题

    题目描述

    使用 getline 成员函数读入某个text文件(f5.txt)中的“一篇文章”(如可以是一个C++源程序,文件名由用户从键盘输入),而后将该文件的各空行以及各程序行中的注解均删除掉(认为该行中从第一个双撇符号“//”开始直至行末的所有符号为注解),并将删除注解后的结果行写出到另一个文件(f6.txt)中。
    【输入形式】
    逐行读入文件f5.txt的内容。
    【输出形式】
    【样例输入】
    文件f5.txt的内容如下:

    //This is test
    #include <iostream>
    int main()
    {
    cout<<"Hello World"<<endl;
    return 0;
    }
    

    【样例输出】
    文件f6.txt的内容如下:

    #include <iostream>
    int main()
    {
    cout<<"Hello World"<<endl;
    return 0;
    }
    

    源代码

    #include<iostream>
    #include<fstream>
    using namespace std;
    int main(){
        char x[5000];
        ifstream f5("f5.txt");
        ofstream f6("f6.txt");
        while(f5.getline(x,5000))
    	{
    		if(x[0]==''||x[0]=='/') 
                continue;
    		for(int i=0;x[i]!='';i++) {
                if(x[i]=='/') 
                    x[i]='';
            }
    		f6 << x;
            f6<<endl;
    	}
        f5.close();
        f6.close();
    }
    

    运行截图

  • 相关阅读:
    Educational Codeforces Round 86 (Rated for Div. 2) D. Multiple Testcases
    Educational Codeforces Round 86 (Rated for Div. 2) C. Yet Another Counting Problem
    HDU
    HDU
    HDU
    HDU
    Good Bye 2019 C. Make Good (异或的使用)
    Educational Codeforces Round 78 (Rated for Div. 2) C. Berry Jam
    codeforces 909C. Python Indentation
    codeforces1054 C. Candies Distribution
  • 原文地址:https://www.cnblogs.com/hujunyao37201/p/14158997.html
Copyright © 2011-2022 走看看