各种输入流简单汇总:
1、cin //会过滤掉不可见字符(如 空格 回车,Tab 等)
2、cin.get(字符变量名)或 cin.get(字符数组名,接收字符数目) 用来接收字符
可以接收空格并输出
// char ch;
// ch=cin.get(); 或cin.get(ch);
// cout<<ch<<endl;
// 输入:jljkljkl
// 输出:j
// char a[20];
// cin.get(a,20);
// cout<<a<<endl;
// 输入:jkl jkl jkl
// 输出:jkl jkl jkl
3、cin.getline(字符数组名,接收字符数目,结束字符) 接受一个字符串
可以接收空格并输出
// char m[20];
// cin.getline(m,5);
// cout<<m<<endl;
// 输入:jkljkljkl
// 输出:jklj
// 接受5个字符到m中,其中最后一个为'\0',所以只看到4个字符输出;
//如果将cin.getline()改为cin.getline(m,5,'a');
//输入jkaljkljkl时,输出jk
4、getline(cin,字符变量名(string形式)) 接受一个字符串,可以接收空格并输出
需包含头文件"#include<string>"
//#include<iostream>
//#include<string>
//using namespace std;
//int main ()
//{
// string str;
// getline(cin,str);
// cout<<str<<endl;
//}
5、getchar() 使用方式如下
// char z[100];
// int i=0;
// while((z[i]=getchar())!='\n') i++;
// 用于输入一段字符串回车停止读取。
关于做题时碰到用例结束的解决方式
1、给数据n,然后输入n个样例(最常见) 直接先输入n,然后用一个循环解决
// int n;
// cin>>n;
// for(int i=0;i<n;i++){
// }
2、碰到了输入零时结束输入样例(例子:挑棍子,爬虫,)
// for(;;){
// cin>>n;
// if(n==0) break;
// }
一道很特别的题目分享给大家
最小公倍数:
给定两个正整数,计算这两个数的最小公倍数。
Input
输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数.
Output
对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。
Sample Input
10 14
Sample Output
70
3、碰到没有给你结束输入样例条件的题目(以上题为例)
法一:while(1){
cin>>a>>b;
cout<<bei(a,b)<<endl;//bei(int,int)是函数
}
弊端:无法终止运行,即运行框一直存在;
法二:while(cin>>a>>b){
cout<<bei(a,b)<<endl;
} //即你输入a,b的话,就会运行程序;
弊端同上
But 通过简(gao)简(bi)单(ge)单(de)操作 可以让运行框消失
当不想输入时
按Ctrl+z+回车键
程序会终止(但该操作对法一仍无解);
另外,做题目的话,两种方法没有差别,均可以提交正确。
1、cin //会过滤掉不可见字符(如 空格 回车,Tab 等)
2、cin.get(字符变量名)或 cin.get(字符数组名,接收字符数目) 用来接收字符
可以接收空格并输出
// char ch;
// ch=cin.get(); 或cin.get(ch);
// cout<<ch<<endl;
// 输入:jljkljkl
// 输出:j
// char a[20];
// cin.get(a,20);
// cout<<a<<endl;
// 输入:jkl jkl jkl
// 输出:jkl jkl jkl
3、cin.getline(字符数组名,接收字符数目,结束字符) 接受一个字符串
可以接收空格并输出
// char m[20];
// cin.getline(m,5);
// cout<<m<<endl;
// 输入:jkljkljkl
// 输出:jklj
// 接受5个字符到m中,其中最后一个为'\0',所以只看到4个字符输出;
//如果将cin.getline()改为cin.getline(m,5,'a');
//输入jkaljkljkl时,输出jk
4、getline(cin,字符变量名(string形式)) 接受一个字符串,可以接收空格并输出
需包含头文件"#include<string>"
//#include<iostream>
//#include<string>
//using namespace std;
//int main ()
//{
// string str;
// getline(cin,str);
// cout<<str<<endl;
//}
5、getchar() 使用方式如下
// char z[100];
// int i=0;
// while((z[i]=getchar())!='\n') i++;
// 用于输入一段字符串回车停止读取。
关于做题时碰到用例结束的解决方式
1、给数据n,然后输入n个样例(最常见) 直接先输入n,然后用一个循环解决
// int n;
// cin>>n;
// for(int i=0;i<n;i++){
// }
2、碰到了输入零时结束输入样例(例子:挑棍子,爬虫,)
// for(;;){
// cin>>n;
// if(n==0) break;
// }
一道很特别的题目分享给大家
最小公倍数:
给定两个正整数,计算这两个数的最小公倍数。
Input
输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数.
Output
对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。
Sample Input
10 14
Sample Output
70
3、碰到没有给你结束输入样例条件的题目(以上题为例)
法一:while(1){
cin>>a>>b;
cout<<bei(a,b)<<endl;//bei(int,int)是函数
}
弊端:无法终止运行,即运行框一直存在;
法二:while(cin>>a>>b){
cout<<bei(a,b)<<endl;
} //即你输入a,b的话,就会运行程序;
弊端同上
But 通过简(gao)简(bi)单(ge)单(de)操作 可以让运行框消失
当不想输入时
按Ctrl+z+回车键
程序会终止(但该操作对法一仍无解);
另外,做题目的话,两种方法没有差别,均可以提交正确。
但要注意输出时题目有没有要求换行。
最小公倍数源代码如下:
#include<iostream>
using namespace std;
main()
{
int a,b;
int bei(int,int);
while(1){
cin>>a>>b;
cout<<bei(a,b)<<endl;
}
// while(cin>>a>>b){
// cout<<bei(a,b)<<endl;
// }
}
int bei(int a,int b)
{
int i;
for(i=a;i<=a*b;i++){
if(i%a==0&&i%b==0) return i;
}
}