用的自己的方法。觉得自己是智障。
在这道题上磨了很久,因为没考虑到导出来结果都是0的情况,在这种情况下, 直接输出0 0就好了。日
好像后面的代码可以更加精简一点。
#include<stdio.h>
main(){
char ch;
int i,num[10000],temp1,xishu[10000],temp2,zhishu[10000]={-3},spot;
temp1=0;
do{
temp1++;
scanf("%d",&num[temp1]);
}while((ch=getchar())!='\n');
temp2=0;
temp1--;
for(i=1;i<=temp1;i=i+2){
temp2++;
xishu[temp2]=num[i]*num[i+1];
zhishu[temp2]=num[i+1]-1;
}
for(i=1;i<=temp2;i++){
if(xishu[i]==0){
continue;
}
if(i==(temp2-1) && (xishu[temp2]==0)){
printf("%d ",xishu[i]);
printf("%d",zhishu[i]);
break;
}
if(i==temp2){
printf("%d ",xishu[i]);
printf("%d",zhishu[i]);
break;
}
printf("%d ",xishu[i]);
printf("%d ",zhishu[i]);
}
if(zhishu[1]==0 || xishu[1]==0){
printf("0 0");
}
return 0;
}