输入流简单汇总和用例结束的解决方式

各种输入流简单汇总:


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;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值