/*
求Sn=a+aa+aaa+aa...a(n个a),其中a是一个数字,n表示a的位数,n由键盘输入
*/
#include<stdio.h>
#include<math.h>
int main()
{
int Sn=0,a,n,i;
printf("输入a、n的值:\n");
scanf("%d%d",&a,&n);
for(i=1;i<=n;i++)
{
a=(pow((float)10,i)-1.0)/9.0*a;
Sn+=a;
}
printf("Sn=%d",Sn);
return 0;
}
运行结果:输入2_1,2_2时,Sn=2和Sn=4(正确的),输入2_3,Sn=2466,输入2_4,Sn=2715528(之后都是错误的)
书上的方法是用a*10,然后不断循环,我想用pow函数,但是就出现上述问题。求解。