刷題需要注意的輸入輸出格式

1.vector

一維數組的輸入

/**
 *一維數組vector<int>用cin輸入
**/
#include<iostream>
#include<vector>
using namespace std;
int main(){
    int  N;
    cin>>N;
    vector<int> inputArray(N); //注意若無(N),用cin輸入會失敗
    for(int i = 0;i < N;i++){
        cin>>inputArray[i];
    }
}

二維數組的輸入 

/**
 *二維數組vector<vector<int>>用cin輸入
**/
#include<iostream>
#include<vector>
using namespace std;
int main() {
	int N, M;
	cin >> N >> M;
	vector<vector<int>> temp(N,vector<int>(M));
	for (int i = 0; i < N; i++) {
		for (int j = 0; j < M; j++) {
			cin >> temp[i][j];
		}
	}
	for (int i = 0; i < N; i++) {
		for (int j = 0; j < M; j++) {
			cout << temp[i][j];
		}
		cout << endl;
	}
}

 

2. #include<math.h>

對數運算

/**
 *常見對數運算
 *double log();   //e爲底數
 *double log2();
 *double log10();
 *上面幾個函數都重載過,參數可以是整型或者浮點型,返回的結果會有四五位小數
 *其他對數運算,可以用換底公式來進行
**/

#include<iostream>
#include<math.h>
using namespace std;
int main(){
    cout<<log(10)<<endl;
    cout<<log2(10)<<endl;
    cout<<log10(10)<<endl;
}
//output:
/**
 *2.71828
 *2.31254
 *1
**/

向上取整或向下取整 

/**
 *double  ceil( double num ); //向上取整
 *double floor( double num ); //向下取整
 *這兩個函數也是被重載過,參數整型或浮點型都可以
**/

#include<iostream>
#include<math.h>
using namespace std;
int main(){
    int upInt =  ceil(6.1);
    int dpInt = floor(6.5);
    cout<<upInt<<endl<<dpInt;
}
//output:
/**
 *6
 *7
**/

cout輸出小數點位數

/**
 *cout控制輸出的小數點位數
**/
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
   cout<<fixed<<setpricision(4)<<3.14159<<endl;
   cout<<fixed<<3.14159<<endl;
   cout<<setpricision(4)<<3.14159<<endl;
}
//output:
/**
 * 3.1416     //控制小數點位數
 * 3.141590  //fixed默認輸出六位小數點
 * 3.142    //單獨的setpricision輸出的是有效數字位數,包括左側整數部分  
**/

小數參與的除法運算 

/**
 *小數參與的除法運算
 *C++的除法中必須有浮點數參與結果纔會是浮點數,int/int=int
**/
#include<iostream>
using namespace std;
int main(){
    cout<<10/3<<endl;
    //output: 3
    cout<<10.0/3<<endl;
   //output: 3.33333
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章