int horner(const int N,const int A){
int i,j;
int tmp,sum=0;
for(i=0;i<N;++i){
tmp=1;
for(j=0;j<i;++j){
tmp=tmp*10+1;
}
tmp*=A;
sum+=tmp;
#ifdef DEBUG
printf("%8d\t%8d\n",tmp,sum);
#endif
}
return sum;
}
int main()
{
int result;
int n=4,a=2;
result=horner(n,a);
printf("\nresult: %d\n\n",result);
谢谢楼上的提醒,更正:
#include <conio.h>
#include <math.h>
main()
{
long int s,i;
int a,n
clrscr();
printf("n,a=");
scanf("%d,%d",&n,&a);
for (i=2;i<pow(10,n-1);s+=i,i=i*10+a)
printf("s=%ld",s);
}