算法知识点——常用输入输出数据的方式

如果输入的每组数据的结果不相互干扰的话,就可以在本次操作的时候将该组数据的相关结果进行输出。

1、n组输入输出(n确定)

scanf("%d",&n);
while(n--) {scanf("%d %d",&a,&b); printf("%d %d\n",a,b);}
cin>>n; 
while(n--){ cin >> a >> b; cout <<a << b << endl;;}

2、n组输入输出(n不确定)

while(scanf("%d %d",&a,&b)!=EOF){printf("%d %d\n",a,b);}//第一种写法
while(scanf("%d %d",&a,&b)==2){printf("%d %d\n",a,b);}//第二种写法
while(~scanf("%d %d",&a,&b)){printf("%d %d\n",a,b);}//第三种写法  
while(cin >> a >> b ){
 cout <<a << b <<endl;
 }
while(cin >> n){
 while( n -- ){
	 cin>>a>>b;       
 	cout<<a<<b<<"\n";
 	}
 }

3、 复杂的输入输出

char c=getchar();//一个一个的读入

string ss;
while(getline(cin,ss)) // 一行一行的读入
 {
 }
getline(cin, s, '?'); // 默认以回车作为结束,如果需要自定义

cout << endl; 除了换行之外,还会清空缓存区,而清空缓存区这件事情会耗时很久,因此为了提高速度,一般直接:cout << “\n”;,会快很多

你可能感兴趣的:(算法)