求一个任意次方后的三位数

#include <stdio.h>
#include <math.h>
#include <string.h>

int main(void)
{

        int result,count,x,y,i=0;
        char show[10],tmp[10];

        scanf("%d",&x);
        scanf("%d",&y);
        result = pow(x,y);

        while(result > 0)
        {
                tmp[i++] = result%10 + '0';
                result = (result - result%10)/10;

        }
        tmp[i] = '\0';

        count = strlen(tmp);
        for (i = 0; i < 3; i++)
        {
                show[i] = tmp[2 - i];
        }
        show[i] = '\0';
        printf("show = %s\n", show);
        return 0;
}