文章目录
- 目录
- 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',''))