逻辑关系:
后一项等于前一项乘以10加a
a = 1时 i=0,b=0+1=1;
i=1,b=10+1=11;
i=2,b=110+1=111;
i=3,b=1110+1=1111;
i=4,b=11110+1=11111;
#include<stdio.h>
int main ()
{
int a , b = 0 , sum = 0;
printf("put in a number:");
scanf("%d",&a);
for(int i = 0 ; i < 5 ; i++ )
{
b = b * 10 + a;
sum += b;
}
printf("sum = %d", sum);
return 0;
}
运行结果:
put in a number:1
sum = 12345
用函数进行封装:
#include<stdio.h>
#include<math.h>
int getsum(int m , int n)
{
int sum = 0;
int num = 0;
for(int i = 0 ; i < n ; i++)
{
num += m * pow(10 , i) ;
sum += num;
}
return sum;
}
int main()
{
int m , n;
scanf("%d %d", &m, &n);
printf("%d", getsum(m , n));
return 0;
}
结果展示:
2 5
24690