关于北邮某次上机考试求助(帮忙看一下哪里出错了,谢谢了)
题目描述现在有两种面值的邮票,一种为8角,一种为6角。你要付n角的邮资(不能多付也不能少付),请给出邮票张数最少的方案。如果没有正好的方案则输出-1。输入:
只有一行,为若干个整数(至少有两个)。这些整数中的最后一个一定是-1,其他整数均大于0,这些大于0的整数代表邮资。输出
若干行,每行依次对应输入的一个邮资,如果该邮资有正好的方案,则为两个用空格分隔的整数,代表张数最少的方案。前边的数字代表需要的8角的邮票的张数,后边的数字代表6角的邮票的张数;如果该邮资没有正好的方案则输出-1。测试用例保证所有整数均可以用int存储。
#include<stdio.h>
int main()
{ int i,j,k,l,p;
do{ scanf("%d",&k);
i=k/8;
j=k%8;
l=j/6;
p=j%6;
if(p==0&&k!=0){
printf("%d %d\n",i,l); }
else if(k!=-1){
if(p==4){printf("%d %d\n",i-1,l+2);}
else {printf("-1\n");}
}
}while(k!=-1);
return 0;
}