设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-1。)
输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。
输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是0,但是表示为“0 0”。
输入样例:3 4 -5 2 6 1 -2 0输出样例:
12 3 -10 1 6 0
#include "iostream" #include "vector" #include "stdio.h" using namespace std; int main() { int tmp_input = 0; vector<int> input; vector<int> output; char c_tmp; //do{ // C形式输入一组整数 // scanf("%d", &tmp_input); // scanf("%c", &c_tmp); // input.push_back(tmp_input); //} while (c_tmp != '\n'); while (1) // C++形式输入一组整数 { cin >> tmp_input; input.push_back(tmp_input); if (getchar() == '\n') break; } int length = input.size(); for (int i = 0; i < length; i = i + 2) { if (length == 2 && input[1] == 0) { output.push_back(0); output.push_back(0); } else { int coefficient = input[i] * input[i + 1]; int power = input[i + 1] - 1; if (input[i] != 0 && coefficient != 0) { output.push_back(coefficient); output.push_back(power); } } } for (int i = 0; i < output.size(); i++) { if (i != output.size() - 1) { cout << output[i] << " "; } else { cout << output[i]; } } system("pause"); return 0; }