欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-26 10:10:17
题目: 知识点for me: 该题的输入并非是按回车后数据输入完毕也不是给定数据长度,而是输入到文件末尾。可以有以下三种写法: (1)while(cin>>a) (2)while(scanf("%d", n) != EOF) (3)while(~scanf("%d", &n)) cin>>a或者sc ......

题目:

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