1601月

刚刚题目忘写了。现在补上。哈~

▧ 2005.01.16

昨天估计是没有睡好。。好困啊。

侃终于浮上来说了两句话。。。

明天去蛋子那里。。又要一件板筋。汗。。。

然后去一中探险。^_^。。。

#include<Stdio.h> void main(void) &leftsign;     int i,j;     double a,sum;     for(i=1,sum=0;i<10;i++)         for(a=i,j=0;j<i;j++)         &leftsign;             sum+=a;             a*=10;         &rightsign;     printf(“1+22+333+…+999999999 = %.0f\n”,sum); &rightsign;

运行结果: 1+22+333+…+999999999 = 1097393685 Press any key to continue     

^_^ ,外层循环比较简单, for(i=1,sum=0;i<10;i++) 也就是说 共有9项(i从1到9)

内层循环复杂一点: for(a=i,j=0;j<i;j++) //a=i 是因为第 i 项的每一位数字都是 i  //内层循环的次数 j 从0到 i-1 ,i 次, //原因是 每一项都是类似于 4 + 40 + 400 + 4000 //所以, j=0,1,2,3分别对应 4 * (10 的 j 次方) //而sum 将这些项加起来,因此,每次内层循环 //sum 的值就是 原来数列中 一项的值 //通过外层循环将各项的值加起来,sum最终的 //的结果就是 数列的 多项求和         &leftsign;             sum+=a;             a*=10;         &rightsign;

不过,还是比较喜欢简化成下面的样子 void main(void) &leftsign;     int i,j;     double a,sum;     for(i=1,sum=0;i<10;i++)         for(a=i,j=0;j<i;j++,a*=10)          sum+=a;     printf(“1+22+333+…+999999999 = %.0f\n”,sum); &rightsign;

今天好困。。真不想看了。。。哪天有时间再看吧。。。唉。。堕落了啊~~~

关联记录

暂无可公开显示的关联评论。评论与回复仍保存在本私有归档的 comments/ 目录;阅读界面默认隐藏邮箱、IP 和用户代理信息。