PAT乙级题1010 一元多项式求导 (25分)几个坑点(主要是第三个测试点)

本人新人,这些代码都慢慢摸索出来的,在博客上没看到正解,也可能是我没找到,就是第三个测试点的新手版=-=;;
代码如下

#include
int main(){
     
	int k,n;
	int i=0;
	while(scanf("%d%d",&k,&n)!=EOF){
     
		if(n==0&&k==0){
     
			if(i!=0) printf(" "); 
			printf("0 0");
			i++;//这里
		}

		if(n!=0){
     
			if(i!=0)
				printf(" ");
			printf("%d %d",k*n,n-1);
			i++;//这里
		}
		//如果写到这里(外面)
	}
	if(i==0) printf("0 0");
	return 0;
}

主要是计数器”i“的位置的问题,就是如果他的测试点的一开始是1,0等,不做任何输出的输入,如果”i“写到外面,那么他的i就会自加,再进行输入就会在开头出现空格
#错误代码如下,可以尝试输入:1 0 2 2

#include
int main(){
     
	int k,n;
	int i=0;
	while(scanf("%d%d",&k,&n)!=EOF){
     
		if(n==0&&k==0){
     
			if(i!=0) printf(" "); 
			printf("0 0");
			//i++;
		}

		if(n!=0){
     
			if(i!=0)
				printf(" ");
			printf("%d %d",k*n,n-1);
			//i++;
		}
		i++; 
	}
	if(i==0) printf("0 0");
	return 0;
}

希望和我一样被困在第三个测试点的小伙伴能早日脱坑=-=

你可能感兴趣的:(坑点解释,PAT)