关于输入输出:
  • 板块学术版
  • 楼主register_new
  • 当前回复10
  • 已保存回复10
  • 发布时间2022/9/9 22:04
  • 上次更新2023/10/27 12:10:51
查看原帖
关于输入输出:
740907
register_new楼主2022/9/9 22:04

先来个普及的:

#include<bits/stdc++.h>
using namespace std;
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    return 0;
}

接着就用cin和cout输入输出就行了,挺快的

也可以去掉后面2行,用scanf和printf输入输出

保留:

ios::sync_with_stdio(false);

一个可以参考的代码

https://www.h3399.cn/201903/669587.html

会有亿点长,请见谅

反正我看不懂,而且不知道怎么写,所以实用性不大,而且在比赛的时候是争分夺秒的,不可能有时间编这么长的代码,所以在同学面前装一下逼就可以了,没什么用


快读快写框架:

#include<bits/stdc++.h>
using namespace std;
inline void write(int x){
    char F[200];
    int tmp=x>0?x:-x ;
    if(x<0)putchar('-') ;
    int cnt=0 ;
        while(tmp>0){
           F[cnt++]=tmp%10+'0';
           tmp/=10;
    	}
        while(cnt>0)putchar(F[--cnt]) ;
 }
inline int read(){
	int x=0,f=1,j=1;
	char c=getchar();
	while(c<'0'||c>'9'){
		if(c == '-')f=-1;
		c=getchar();
	}
	while(c>='0'&&c<='9'){
		x=x*10+c-'0';
		c=getchar();
	}
	return x*f;
}
int main(){
	return 0;
}

输入n:n=read();

输出n:wrute(n);

这样写就会快很多


也可以写简便亿点:

#include<bits/stdc++.h>
using namespace std;
inline int read(){
	char c=getchar();int x=0,f=1;
	for(;!isdigit(c);c=getchar())if(c=='-')f=-1;
	for(;isdigit(c);c=getchar())x=x*10+c-48;
	return x*f;
}
inline void write(int n){
    if(n==0)return;
    write(n/10);
    putchar(n%10+'0');
}
int main(){
	return 0;
}

这就快写,如果你想再快1丁点,那就用fread

框架:

#include<bits/stdc++.h>
using namespace std;
char buffer[100001],*S,*T; 
inline char Get_Char()  {  
    if (S==T){  
        T=(S=buffer)+fread(buffer,1,100001,stdin);
        if (S==T) return EOF;  
    }
    return *S++; 
}
inline int read(){
    char c;int re=0;  
    for(c=Get_Char();c<'0'||c>'9';c=Get_Char());  
    while(c>='0'&&c<='9') re=(re<<1)+(re<<3)+(c-'0'),c=Get_Char();  
    return re;  
}
int main(){
	return 0;
}

其实上面的fread完全没有必要,当然如果你想装逼的话这的确是一个好选择,你可以在加上freopen,但这东西已经普及得不行了,在网上一找一大堆,所以不做解释


最后,告诫大家,这些东西作用没我们想象中的那么大,多学知识,提升自己,学会更好的思路,写法,才是最重要的!

2022/9/9 22:04
加载中...