坑点
最后输出的时候需要注意如果遇到系数为0,那么前面的那个是不要空格的。
如果所有项都是零,那么最后输出应该是0,0
代码如下,暂时还没有优化
#include<cstdio>
#include<iostream>
using namespace std;
const int maxn=100010;
int main()
{
int a[maxn],b[maxn],i=0,k,e;
while(scanf("%d %d",&k,&e)!=EOF)
{
a[i]=k;
b[i]=e;
i++;
}
bool flag=false;
for (int j=0;j<i;j++)
{
a[j]=a[j]*b[j];
b[j]=b[j]-1;
if(a[j]!=0)
{
flag=true;
}
}
for (int j=0;j<i;j++)
{
if(flag==false)
{
printf("0 0");
return 0;
}
else
{
if (a[j]!=0)
printf("%d %d",a[j],b[j]);
}
if(j!=i-1)
printf(" ");
}
}