目录
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.1416
cout << setprecision(9) << f << '\n'; //3.14159
cout << fixed;
cout << setprecision(5) << f << '\n'; //3.14159
cout << setprecision(9) << f << '\n'; //3.141590000
return 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 num2
def out_put(x):
s = " ".join(str(i) for i in x)
return s
方式2:
牛客网推荐使用sys.stdin.readline()形式输入,输出用print()
'''
输入:
2 3 分别赋给n, m并且转换为int类型
'''
import sys
n, 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',''))