1. 程式人生 > >第4次實驗

第4次實驗

cin sin ID 用兩個 src otto png -i 比較

第一題

我的算法是用兩個變量i和j控制空格和符號的輸入,先填充空格,再填充符號,再用空格覆蓋符號

我的代碼如下

    int i,j;
    for(i=0;i<size;i++)
    {
        for(j=1;j<=2*size-1;j++)
        {
            if(j>=size-i&&j<=size+i)
            {
                cout<<symbol;
            }
            else
                cout<<" ";
        }
        cout<<endl;
    }

  

技術分享圖片

開發環境Dev-C++ 5.11

第2題

函數的聲明:

#pragma once
#ifndef Fraction_h 
#define Fraction_h
class Fraction
{
public:
    Fraction(int i,int j);
    Fraction(int i);
    Fraction();
    ~Fraction();
    void add(Fraction &a);
    void subtract(Fraction &a);
    void multiply(Fraction &a);
    
void divide(Fraction &a); void compare(Fraction &a); void input(); void output(); private: int top; int bottom; }; #endif

函數的實現:

#include "Fraction.h"
#include <iostream>
using namespace std;
Fraction::Fraction(int i,int j):top(i),bottom(j)
{}
Fraction::Fraction(int
i):top(i) { bottom=1; } Fraction::Fraction() { top=0; bottom=1; } Fraction::~Fraction() {} void Fraction::add(Fraction &a) { cout<<top*a.bottom+a.top*bottom<<"/"<<bottom*a.bottom<<endl; } void Fraction::subtract(Fraction &a) { cout<<top*a.bottom-a.top*bottom<<"/"<<bottom*a.bottom<<endl; } void Fraction::multiply(Fraction &a) { cout<<top*a.top<<"/"<< bottom * a.bottom << endl; } void Fraction::divide(Fraction &a) { cout<<top*a.bottom<<"/"<< bottom * a.top << endl; } void Fraction::compare(Fraction &a) { if(top*a.bottom>bottom*a.top) cout<<top<<"/"<<bottom<<endl; else if(top*a.bottom<bottom*a.top) cout<<a.top<<"/"<<a.bottom<<endl; else if(top*a.bottom==bottom*a.top) cout<<"一樣大"<<endl; } void Fraction::input() { cin>>top>>bottom; } void Fraction::output() { cout<<top<<"/"<<bottom<<endl; }

main函數:

#include <iostream>
#include "Fraction.h"
using namespace std;

int main()
{
    Fraction a;
    Fraction b(3,4);
    Fraction c(5);
        cout <<"a:";
            a.output();
        cout <<"b:";
            b.output();
        cout <<"c:";
            c.output();
        cout <<"a+b=";
            a.add(b);
        cout <<"a-b=";
            a.subtract(b);
        cout <<"a*b=";
            a.multiply(b);
        cout <<"a/b=";
            a.divide(b);
        cout <<"比較a和b的大小:";
            a.compare(b);
        cout <<"請輸入分子分母:";
            a.input();
    cout << "a的大小為:";
            a.output();
    return 0;
}

運行結果:

技術分享圖片

總結:

我經過這次的實驗發現我還是有很多地方是有欠缺的,而這就導致我做題的速度會比較慢,很多東西不熟練,特別是關於類的知識。我會認真總結,在類這方面花更多功夫

第4次實驗