求大佬,如何用C语言实现该问题?

求最后3位数值(10分)
题目内容:

小明在中学会求一个数的 n 次方了,但计算机还不会,请你来编写一个程序吧。由于计算机比较“笨”,所以我们编写程序的功能不用太强,只要能算出 a 的 n 次方的最后 3 位数就可以了。

输入格式:

a 和 n 的值。假设 a<=150 。

输出格式:

求 a 的 n 次方的最后 3 位数。

提示:再想一想,你的方法对吗?你用的是什么数据类型?

输入样例:

10 0

输出样例:

The last 3 numbers is 1.

问题解决请点采纳。采纳我回答的2个问题后,可以继续回答你别的问题

#include <stdio.h>
int main()
{
    int n,N,i,r=1;
    scanf("%d%d",&n,&N);//输入n和N
    n%=1000; //n截取后三位。
    for(i = 0; i < N; i ++)//循环N次,计算N次乘积。
        r=r*n%1000;//每次结果取后三位。
    printf("%d\n", r);//输出结果
    return 0;
}