这个题我的做法没有用flag记录是否已有输出,代码如下:
int main(){
int xishu[103];
int zhishu[103];
int i=0;
char ma;
while(1){
cin>>xishu[i]>>zhishu[i];
i++;
ma=getchar();
if(ma=='\n') break;
}
for(int j=0;j<i;j++){
if(zhishu[j]==0||xishu[j]==0) continue;
if(j==0) cout<<xishu[j]*zhishu[j]<<" "<<zhishu[j]-1;
else{
cout<<" "<<xishu[j]*zhishu[j]<<" "<<zhishu[j]-1;
}
}
if(i==1&&(zhishu[0]==0||xishu[0]==0)) cout<<"0 0";
}
代码很好懂,就不解释了,关于这个题我想说:1、所给输入样例中最后两个数因为指数是0,求导之后是0所以就没有输出显示,这种情况要判断一下。2、如果提交还是错误,可以再试试这几个样例来测试,3 4 -5 2 6 1 -2 -1、3 4 -5 2 6 1 0 -1、-2 0、0 5,对应正确输出应该是12 3 -10 1 6 0 2 -2、12 3 -10 1 6 0、0 0、0 0,然后注意格式不要错误,最后不要有空格这道题基本就没什么了。