面试准备,输入输出(c++/python)

C++

常用的输入输出cin/cin.getline/cin.get/getline(string)

  1. Tab、space结束符。enter是判断输入流结束的表现。不要把他和普通的结束符看成一样的。

  2. cin.getline /cin.get都是遇到enter会终止,但不同的是,cin.getline会把缓冲区当中的enter删除掉,不影响下一次的输入。而cin.get不会删除。

  3. getline(string):Get line from stream into string (function
    ),不是遇到space tab就结束的,会记录下字符串当中的space。

如果以,;或0等作为输入的区分

cin.getline用法:接收一个字符串,可以接收空格并输出
  1. cin.getline()实际上有三个参数,cin.getline(接收字符串的变量,接收字符个数,结束字符);
  2. 当第三个参数省略时,系统默认为’\0’
  3. 如果将例子中cin.getline()改为cin.getline(m,5,‘a’);当输入jlkjkljkl时输出jklj,输入jkaljkljkl时,输出jk
例:以;为分隔符输入5个人的名字,每个人名字长度不超过10个字符
#include<iostream>
using namespace std;
int main()
{	
	char name[5][10];
	int i;
	for (i = 0; i < 4; i++)
		cin.getline(name[i],10,';');
	//最后一个名字是结尾是/n,没有;号所以要另外输入
	cin.getline(name[i], 10);
	//输出
	for (i = 0; i < 5; i++)
		cout << name[i] << endl;
	
}
输入:aa;bb;cc;dd;ee
输出:
aa
bb
cc
dd
ee

不能用cin.get(),cin.get会保留‘;’在输入流里,再第二次写入的时候,会读取到上一次输入的‘;’,直接结束输入导致无法输入

输入以空格为间隔的数组

cin作为输入时,以enter作为结束
例:先输入n,然后输入n个数,输出那n个数
#include<iostream>
using namespce std
int main()
{
	cin >> n;//先输入要输入的数的个数
	*p = new int[n];//开辟空间,以n为第一个数
	for(int i=0; i<n; i++)
		cin>>p[i];
	for (int i = 0; i < n; i++)
		cout << *(a+i) << endl;
}

输入:3
	  1 2 3
输出:1
	  2
	  3

输入多组数据

int n;

while(cin>>n){//while cin这里

int* a = new int[n];
...
}

无空格 的字符串,cin>> , 如果是char[] 用memset


#include<string.h>//和string是两个东西!!

char out[8];

memset(out,'0',8);//初始化注意

char str[30];

cin>>str; 

//也可以用string,但是都不记录空格

输出的时候也必须

for(int i =0;i<8;i++){//必须是这种

    cout<< out[i]; //否则会出现 烫烫

}

python

a=input()输入一行数据,数据类型为str
sys.stdin.readline().strip()输入多行数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值