我的代码如下:
#include <stdio.h>
int main()
{
int base, exp;
scanf ( "%d %d", &base, &exp );
if ( exp == 0 )
{
printf ( "%d %d", 0, 0 );
}
else
{
printf ( "%d %d", base*exp, exp-1 );
while ( exp - 1 != 0 )
{
scanf ( "%d %d", &base, &exp );
printf ( " %d %d", base*exp, exp-1 );
}
}
return 0;
}
实在想不出来后,在网络AC的代码根据它的思路,自己改了一下,也AC了。
#include <stdio.h>
int main()
{
int base, exp;
int flag = 0;
while ( scanf( "%d %d", &base, &exp ) != EOF )
{
if ( base*exp != 0 )
{
if ( flag != 0 )
{
printf (" ");
}
else
{
flag = 1;
}
printf ( "%d %d", base*exp, exp-1 );
}
}
if ( flag == 0 )
{
printf ( "%d %d", 0, 0 );
}
return 0;
}
可是这段代码测试用例为 9 0 时无限循环,没出结果,这样也是对的吗?