IT互联网公司的笔试的输入输出- c++ python

文章目录

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/445394.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

随机过程1

随机过程1概述1.参考书目2.主要内容3.概率论--基本概念回顾3.1对“不确定性”的认识3.2 应对“不确定性”应该怎么做3.3随机变量&#xff08;Random Variable&#xff09;3.4分布函数&#xff08;Distribution Function&#xff09;3.5概率密度&#xff08;Density&#xff09;…

数组基操三连(4)

题目一 给定一个长度为N的整型数组arr&#xff0c;其中有N个互不相等的自然数1~N 请实现arr的排序 但是不要把下标0~N-1位置上的数值通过直接赋值的方式替换成1~N。 要求&#xff1a;时间复杂度为O(N)&#xff0c;额外空间复杂度为O(1)。 思路&#xff1a;从左向右检查&…

Linux(1)-touch,mkdir,rm,mv,cp,ls,cd,cat

Linux1-实用终端命令1. touch, mkdir2. rm, mv, cp3. ls(通配符),cd(绝对/相对路径)4. cat, more/less文件内容浏览文件/目录-增删查改, 文件内容查看.1. touch, mkdir touch新文件 &#xff1a;在当前文件夹下&#xff0c;创建文件。文件不存在则创建新文件&#xff1b;文件存…

java常用类介绍及源码阅读(ArrayList)

java.util 类 ArrayList<E> 继承关系&#xff1a; java.lang.Objectjava.util.AbstractCollection<E>java.util.AbstractList<E>java.util.ArrayList<E>List 接口的动态数组的实现。 实现了所有可选列表操作&#xff0c;并允许包括 null 在内的所有…

tests1

ls,cd,tardone

数组精选题目三连(5)

子数组的最大累加和问题 输入一个整形数组&#xff0c;求数组中连续的子数组使其和最大。比如&#xff0c;数组x 应该返回 x[2..6]的和187. 这四个代码完成的功能都是求最大子数组&#xff08;注意用词准确&#xff0c;子数组连续&#xff0c;子序列可以不连续&#xff09;。…

大数据学习(1)-大数据概述

文章目录目录大数据产生背景大数据概念大数据影响大数据应用大数据关键技术大数据产业大数据&#xff0c;云计算&#xff0c;物联网关系云计算物联网大数据&#xff0c;物联网&#xff0c;云计算三者之间联系目录 大数据产生背景 三次信息化浪潮 根据IBM前首席执行官郭士纳福…

java常用类介绍及源码阅读(LinkedList)

java.util 类 LinkedList<E> java.lang.Objectjava.util.AbstractCollection<E>java.util.AbstractList<E>java.util.AbstractSequentialList<E>java.util.LinkedList<E> List 接口的链接列表实现。实现所有可选的列表操作&#xff0c;并且允…

矩阵论-集合与映射,线性空间及其性质

线性空间与线性变换综述1.1 线性空间1.1.1 集合与映射1.1.2 线性空间及其性质综述 本系列博文主要总结学习矩阵论的心得笔记&#xff0c;参考数目《矩阵论》–张凯院&#xff1b;整个文章的整理体系参照行书过程。 1.1 线性空间 1.1.1 集合与映射 1.集合&#xff1a;将很多…

机器学习知识总结系列-机器学习中的数学-概率与数理统计(1-3-1)

文章目录目录1.概率与统计1.1 机器学习与概率统计之间的关系1.2 重要的统计量1.2.1 期望1.2.2 方差1.2.3 协方差&#xff0c;相关系数协方差相关系数1.2.4 矩1.3 重要的定理与不等式1.4 用样本估计参数目录 1.概率与统计 1.1 机器学习与概率统计之间的关系 1.什么是概率问题…

redis——事件

redis服务器是一个事件驱动程序。 需要处理两类事件&#xff1a; 1&#xff09;文件事件&#xff1a;redis是通过套接字与客户端或者其他服务器连接的&#xff0c;而文件事件就是服务器对套接字操作的抽象。 2&#xff09;时间事件&#xff1a;服务器对一些定时操作的抽象。…

自然语言处理(1)-概述

自然语言处理-概述概述1.基本概念2.人类语言技术HLT发展简史3.HLT 研究内容4.基本问题和主要困难5.基本研究方法概述 本系列文章计划总结整理中国科学院大学宗成庆老师《自然语言处理》课程相关知识&#xff0c;参考数目《统计自然语言处理》-第二版&#xff0c;宗成庆。 1.基…

redis——客户端

redis服务器是典型的一对多服务器&#xff0c;通过使用由IO多路复用技术实现的文件事件处理器&#xff0c;redis服务器使用了单线程单进程的方式来处理请求。 客户端的属性 描述符 客户端状态的 fd 属性记录了客户端正在使用的套接字描述符&#xff1a; typedef struct red…

矩阵论-线性空间的基与坐标,基变换坐标变换

线性空间与线性变换综述1.1 线性空间1.1.3 线性空间的基与坐标1.1.4 基变换与坐标变换综述 本系列博文主要总结学习矩阵论的心得笔记&#xff0c;参考数目《矩阵论》–张凯院&#xff1b;整个文章的整理体系参照行书过程。 1.1 线性空间 1.1.3 线性空间的基与坐标 向量的坐…

大数据学习(2-1)-Hadoop安装教程-单机模式和伪分布模式(Ubuntu14.04LTS)

文章目录目录1.linxu的安装1.1安装Linux虚拟机1.2安装Linux和Windows双系统2.Hadoop的安装2.1 Hadoop安装前配置2.1.1 配置Hadoop用户2.1.2 安装 ssh , 配置ssh免密登录2.1.3 安装java环境2.2 Hadoop的安装3.Hadoop单机版配置4.Hadoop伪分布版配置目录 1.linxu的安装 1.1安装…