文章目錄
- 目錄
- c++
- 方式1:
- 方式2:
- Python
- 方式1:
- 方式2:
- 方式3:
目錄
c++
方式1:
第一種情況:輸入n個數,存放在數組中
#include <iostream>
#include <vector>
using namespace std;
int main()
{int N; // 輸入總個數int temp;while (cin >> N){vector<int> num;for (int i = 0; i < N; i++){cin >> temp;num.push_back(temp);}//輸出顯示for (int i = 0; i < num.size(); i++)cout << num[i] << " ";cout << endl;}
}
輸入一行數字,數字之間以空格分割
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
int main()
{string str;while (getline(cin, str)){vector<int> num;int temp;istringstream iss(str);while (iss >> temp){num.push_back(temp);}// 輸出顯示for (int i = 0; i < num.size(); i++)cout << num[i] << " ";cout << endl;}
}!
輸入一行數字,數字之間以逗號隔開
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
using namespace std;
// 輸入一行,以逗號隔開
int main()
{string str;while (getline(cin, str)){vector<int> num;string s;for (int i = 0; i < str.length(); i++){if (str[i] >= '0' && str[i] <= '9'){s = s + str[i];}else{stringstream ss;ss << s;int n;ss >> n;num.push_back(n);s = "";}}stringstream ss;ss << s;int n;ss >> n;num.push_back(n);// 輸入結果,輸出顯示 for (int i = 0; i < num.size(); i++){cout << num[i] << endl;}}
}
帶有效位數的輸出
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
#include <iomanip>
using namespace std;
int main()
{float t = 2.354;// 輸出五位數字cout << setprecision(5) << 12.35467 << endl;// 輸出保留小數點后四個cout.setf(ios::fixed);cout << fixed << setprecision(6) << t << endl;// 取消小數點固定位數cout.unsetf(ios::fixed);cout << t << endl;return 0;
}
方式2:
借用C++中的new/delete
#include "stdlib.h"
#include <iostream>
using namespace std;int main()
{int m, n;//cout << "請輸入行和列:";cin >> m >> n;//動態開辟空間 int **p = new int*[m]; //開辟行 for (int i = 0; i < m; i++)p[i] = new int[n]; //開辟列 //cout << "請輸入數據:";for (int i = 0; i < m; i++)for (int j = 0; j < n; j++)cin >> p[i][j];//cout << "輸出數據:" << endl;for (int i = 0; i < m; i++){for (int j = 0; j < n; j++)cout << p[i][j];cout << endl;}//釋放開辟的資源 for (int i = 0; i < m; i++)delete[] p[i];delete[] p;system("pause");return 0;
}
STL中的vector
#include "stdlib.h"
#include <iostream>
#include<vector>
#include <iomanip>
using namespace std;int main()
{int m, n;//cout << "請輸入行和列:";cin >> m >> n;//注意下面這一行:vector <int后兩個 "> "之間要有空格!否則會被認為是重載 "> > "。 vector<vector<int> > p(m, vector<int>(n));//cout << "請輸入數據:";for (int i = 0; i < m; i++)for (int j = 0; j < n; j++)cin >> p[i][j];//cout << "輸出數據:" << endl;for (int i = 0; i < m; i++){for (int j = 0; j < n; j++)cout << setw(3) << p[i][j];cout << endl;}system("pause");return 0;
}
多行輸入,Ctrl+Z可退出
int main()
{int n, m;vector<double> test;while (cin>>n>>m)//循環多行輸入,回車換行,Ctrl+Z可結束循環{test.push_back(qiuhe(n, m));}for (int i = 0; i < test.size(); ++i){cout << fixed << setprecision(2) << test[i] << endl;}return 0;
}
輸出小數,保留兩位精度
// setprecision example
#include <iostream> // std::cout, std::fixed
#include <iomanip> // std::setprecision
using namespace std;int main () {double f =3.14159;cout << setprecision(5) << f << '\n'; //3.1416cout << setprecision(9) << f << '\n'; //3.14159cout << fixed;cout << setprecision(5) << f << '\n'; //3.14159cout << setprecision(9) << f << '\n'; //3.141590000return 0;
}
%f 對應 float
%lf 對應 double
%Lf 對應 long double
%e以科學計數法顯示
%g在%e和%f中擇短顯示
Python
更新注意事項:
1、在線編程,需要導入sys,利用sys.stdin.strip().readline().split()讀取數據,一行這樣的代碼,僅僅代表讀取一行,如果需要讀取多行,可以用多行這樣的代碼,或者用while true循環讀取
2、牛客網結果以print打印的結果為準
3、充分考慮代碼的復雜度,能簡潔就簡潔,不然執行時間過不了,python執行速度相對比較慢
方式1:
1.從控制臺輸入若干數字,并以空格分隔
2.輸出結果為以空格分隔的字符串
def in_put():num = raw_input()num2 = num.split(' ')for i in range(len(num2)):num2[i] = int(num2[i])return num2def out_put(x):s = " ".join(str(i) for i in x)return s
方式2:
牛客網推薦使用sys.stdin.readline()形式輸入,輸出用print()
'''
輸入:
2 3 分別賦給n, m并且轉換為int類型
'''
import sysn, m = map(int, sys.stdin.readline().strip().split())
print(type(n))
print('n', n)
print('n', m)
賽碼網建議使用input()輸入。使用sys.stdin.readline()默認會帶換行符,所以要strip(’\n’)進行截取,使用sys.stdout.write(res)標準輸出。
'''
輸入:
5
(1,2)(5,3)(4,6)(7,5)(9,0)
output:
(4 6)(7 5)(9 0)
'''nums = int(input())
points = []
for i in range(0, nums):read_list = list(map(int, input().split()))# read_list = [int(i) for i in input().split()]points.append((read_list[0], read_list[1]))
...for i in points:print(i[0], i[1])
輸出要注意,按行遍歷輸出,而不是輸出一個list或者tuple
方式3:
普通輸入
##輸入一行2 3
a = input().split()
print(a) ##["2","3"]
##輸入兩行
##5
##1 5 6
a = []
b = input()
print(b)##5
s = input().split()
print(s) ##['1','5','6']
for i in s:a.append(i)
print(a)##[1,5,6]
輸出以空格或者其他字符分開
##空格
print(a, end=' ')
##逗號
print(a, end=',')
##
循環輸入
##2##兩組數據
##222 555 222
##55 558 5552
a = input()##2
b = input()##222 555 222
c = input()##55 558 5552
輸出去掉換行符
print(str.replace('\n',''))