请帮我解一道题,谢谢
编写程序计算并输出:1 + 22 + 333 + 4444 + 55555 + 666666 + 7777777 + 88888888 + 999999999的前n(0<n<10)项的和,n从键盘输入。例如,输入:6
输出:727021
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include <math.h>
void main()
{
int i;
int j;
int n;
double result;
result = 0;
printf("enter a number:\n");
scanf("%d", &n);
for(i = 0; i <= n; i++)
for(j = 1; j <= i; j++)
result += i * pow(10, (i - j));
printf("result = %f\n", result);
}
----------------解决方案--------------------------------------------------------
2楼算法不错
/* 可以这样,更容易理解些 */
for(i = 1; i <= n; i++)
for(j = 0; j < i; j++)
result += i * pow(10, j);
-
-
[[italic] 本帖最后由 cosdos 于 2007-12-15 23:35 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
pow是什么啊?还没学到呀,能不能不用POW编?
pow是什么啊?还没学到呀,能不能不用POW编? ----------------解决方案--------------------------------------------------------
double pow(double a,double b)是求a^b(a的b次方),函数是查的,不是每个都会学的!
----------------解决方案--------------------------------------------------------
楼上说的没错.
----------------解决方案--------------------------------------------------------