中国电信话费支付购物:一道简单的C语言编程题

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 12:12:48
求:Sn=a+aa+aaa+……+aa……a
(n个a)
之值,其中a是一个数字,例如:2+22+222+2222+22222(此时n=5),n由键盘输入?
请教各位大哥大姐

#include <stdio.h>

void main()
{
int a = 2;
int n;
int i;
long temp;
long result = 0;

scanf("%d",&n);
for (i=0; i<n; i++) {
temp = 0;
for (int j=0; j<=i; j++) {
temp = temp * 10 + a;
}
result = result + temp;
}
printf("%ld",result);
}

效率应该提高,不是每次都要计算中间数值:

#include <stdio.h>

void main()
{
int a = 2;
int n;
int i;
long temp;
long result = 0;

scanf("%d",&n);
temp = a;
for (i=0; i<n; i++) {
result = result + temp;
temp = temp *10 + a;
}
printf("%ld",result);
}

编程要记住那么多字母吗?
我晕