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 ......
题目:
知识点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; }