这题居然卡了我一下午,T T
这题主要2个 坑
1.输入结束形式不确定,所以用EOF来判断输入是否完成。
https://blog.csdn.net/qq_38851184/article/details/83898349
这里有详细说明
2.什么时候输出“0 0”
第二个坑我网上看了很多文章都没搞懂,后来发现应该是这样判断是否输出“0 0”:
1:首先判断输入的系数与导数其中任意一个一个是否为0,是->2,否->输出求导后结果
2:是否是第一次求导 是->输出“0 0”,否->啥都不输出,略过。
#include <stdio.h>
struct anser
{
int t1;
int t2;
}a[9999];
int main()
{
int i=0;
int k=0;
int flag=0,bl=0;
while((scanf("%d%d",&a[k].t1,&a[k].t2))!=EOF){
k++;
}
for(i=0;i<k;i++)
{
if(a[i].t1*a[i].t2)
{
if(flag)printf(" ");
else flag=1;
printf("%d %d", a[i].t1*a[i].t2,a[i].t2-1);
}
if(!flag)
{
printf("0 0");flag=1;
}
}
return 0;
}