int _tmain(int argc, _TCHAR* argv[])
{
vector<int> num;
vector<int> index;
int c;
//char n;
int mark = 0; //用来标记是数字还是指数
while (cin>>c)
{
//n = cin.get(); //可不需要判断回车
if (mark==0)
{
num.push_back(c);
mark = 1;
}
else if (mark==1)
{
index.push_back(c);
mark = 0;
}
/*if (n == '\n')
{
index.push_back(c);
break;
}*/
}
for (int i = 0;i< num.size();++i)
{
num[i] = num[i] * index[i]; //求导
if (index[i]==0) //如果指数是0,删除数字和指数最后一位,因为常数项只会出现在最后一项,不用担心误伤
{
num.pop_back();
index.pop_back();
}
else //不是常数项,则指数减一
{
--index[i];
}
}
if (num.size()>0)
{
for (int i = 0; i < num.size(); ++i)
{
if (i == num.size() - 1)
{
cout << num[i] << ' ' << index[i];
}
else
cout << num[i] << ' ' << index[i] << ' ';
}
}
else //vector为空,即原数组只有常数项,输出"0 0"
cout << "0 0";
return 0;
}
1010.一元多项式求导
最新推荐文章于 2024-05-12 22:41:09 发布