close
利用個人電腦的整數運算功能,

撰寫能計算二位小數的「加法」浮點運算器。
 

註一:
  程式需包含由鍵盤輸入、螢幕輸出的機制,
       
       且需利用迴圈,接受連續的輸入、出


註二:
  程式內不允許任何實數的使用。


註三:
  程式需能處理負數。
 

#include<iostream>

using namespace std;

int  y = 1;

void ke(int x)

{

        if((10>(x%100)) & ((x%100)>=0))

                cout << "" << y <<"個數為:"<<(x/100)<<".0"<<(x%100)<<"\n\n";

        if((0>(x%100)) & ((x%100)>-10))

                cout << "" << y <<"個數為:-"<<(x/100)*(-1)<<".0"<<((x%100)*(-1))<<"\n\n";

        if((x%100)>=10)

                cout <<""<< y <<"個數為:"<<(x/100)<<"."<<(x%100)<<"\n\n";

        if((x%100)<=-10)

                cout <<""<< y <<"個數為:-"<<(x/100)*(-1)<<"."<<(x%100*(-1))<<"\n\n";

        y++;

}

 

int main()

{

        int a = 0 , b = 0 , n = 0 , i = 0 ;

        cout<<"輸入範例: [ 5.23請輸入523 , -6.09請輸入-609 ] \n"

             << "請問您要幾個數相加?\n" ;

        cin >> n ;

         if ( n <= 0 )

             cout <<"輸入錯誤!!請再輸入一次!\n";

                 cin >> n ;

        cout << "請輸入第1個數\n" ;

            cin >> a;

                 ke(a);

       

 for ( i = 2 ; i <= n ; i++)

        {

             cout << "請輸入第" << i <<"個數\n" ;

                cin >> b ;

                ke(b);   

               a+=b;

        }

  if((10>(a%100)) & ((a%100)>=0))

                cout<<"其和為:"<<(a/100)<<".0"<<(a%100)<<"\n";

        if((0>(a%100)) & ((a%100)>-10))

                cout<<"其和為:-"<<(a/100)*(-1)<<".0"<<((a%100)*(-1))<<"\n";

        if((a%100)>=10)

                cout<<"其和為:"<<(a/100)<<"."<<(a%100)<<"\n";

        if((a%100)<=-10)

                cout<<"其和為:-"<<(a/100)*(-1)<<"."<<(a%100*(-1))<<"\n";

    return 0;

}

arrow
arrow
    全站熱搜

    peter9029 發表在 痞客邦 留言(0) 人氣()