版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38851184/article/details/83898349
题目我就不放了,相信大家都知道了。这道题有几个隐藏的坑的点。
1、输入问题,该题的输入并非是按回车后数据输入完毕也不是给定数据长度,而是输入到文件末尾。有种解决方式是用while(!=EOF)。EOF代表的是文件结束符。那么我们写这道题还要从文件进行输入吗?其实不用的,我们在本地上写完代码自己测试时,如果是Linux系统,按ctrl+D,windows系统下先按一个回车,在按ctrl+z,最后在按一个回车就好了。
2、输出的格式,相信已经不陌生了,这里就不再多说。
3、这个坑了我好久啊,具体是“导数多项式非零项的系数和指数”,也就是说,如果输入项的指数是0,那么该项不输出,直接pass;如果输入的是 0 0 ,那么直接输出0 0 .
被坑了好几次后终于通过的代码。由于个人正在学结构体,所以用结构体解了这道题。
#include <bits/stdc++.h>
#include <cstdio>
#include <stdlib.h>
using namespace std;
const int maxn = 1e5+10;
struct node
{
int xishu;
int exp;
} nn[maxn];
int main()
{
char ch[maxn];
int n,m,cnt = 0;
while(scanf("%d%d",&n,&m)!=EOF)
{
nn[cnt].xishu = n;
nn[cnt].exp = m;
cnt++;
}
if(cnt == 1 && nn[0].exp==0 )
{
cout<<"0 0"<<endl;
return 0;
}
cout<<nn[0].exp*nn[0].xishu<<" "<<nn[0].exp-1;
for(int i=1; i<cnt; i++)
{
if(nn[i].exp!=0)
{
cout<<" "<<nn[i].exp*nn[i].xishu<<" "<<nn[i].exp-1;
}
}
return 0;
}