1010 一元多项式求导(用while接收输入)

题目:

知识点for me:

该题的输入并非是按回车后数据输入完毕也不是给定数据长度,而是输入到文件末尾。可以有以下三种写法:

(1)while(cin>>a)   

(2)while(scanf("%d", n) != EOF)

(3)while(~scanf("%d", &n))

        cin>>a或者scanf("%d", &n)代表获取键盘输入的值赋值给变量a,将其置于while的循环条件内,将会一直测试输入流是否正常,EOF表示文件末尾,因为EOF⼀般为-1,所以~按位取反-1正好是0,就可以退出循环了所以也写成上面的第三种。如果输入流正常,就会继续循环获取键盘值,如果输入流错误,或者达到文件末尾(在windows下按Ctrl+Z,在Linux下按Ctrl+D),该循环就会终止。

上代码:

#include <iostream>
#include <vector>
using namespace std;
int main()
{
    int a,b,flag=0;
    while(cin>>a>>b)
    {
        if(a*b==0) break;
        if(flag==1) cout<<" ";
        cout<<a*b<<" "<<b-1;
        flag=1;
    }
    if(flag==0)
     cout<<"0 0";
    return 0;
 } 

 

 

posted @ 2019-03-20 10:30  小泰格儿  阅读(298)  评论(0编辑  收藏  举报