【题目描述】
思路:
- 我们输入的是一整个多项式!(坑!!!是遇到ctrl+z 才表示你结束输入)
- 指数是0的情况是不合法的 ,不用输出东西 //案例中的 -2 0 没有对应输出
- 这个多项式有且只有一项的情况下,并且不合法 才输出 0 0
【输入】
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。
【输出】
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。
【输入样例】
3 4 -5 2 6 1 -2 0
【输出样例】
12 3 -10 1 6 0
【代码】
#include <iostream>
using namespace std;
int main()
{
int a, b, flag = 0;
while (cin>>a>>b) //不断输入 遇到ctrl+z 表示输入结束
{
if (b!=0) //指数为0则 不合法 什么都不输出。
{
if (flag == 1) cout<< " "; //除了第一次进来没有空格 后面有数就有空格
cout <<a*b<<" "<<b-1; //输出系数a*b 与 指数b-1
flag = 1; //输出过 修改标记位
}
}
if (flag==0) cout<<"0 0"; //若有且只有一项 且 不合法则 输出0 0
return 0;
}