Chinaunix首页 | 论坛 | 博客
  • 博客访问: 229366
  • 博文数量: 39
  • 博客积分: 1130
  • 博客等级: 少尉
  • 技术积分: 453
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-26 15:54
文章分类

全部博文(39)

文章存档

2012年(1)

2011年(31)

2010年(7)

分类: C/C++

2011-06-18 09:31:47

    下面这样的写法自然无可非议。
  1. /*
  2. 15.计算1^4+2^4+3^4+4^4+5^4+6^4+7^4。
  3. */
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. int main( void )
  7. {
  8.   printf("和等于%d\n" ,
  9.            1 * 1 * 1 * 1
  10.          + 2 * 2 * 2 * 2
  11.          + 3 * 3 * 3 * 3
  12.          + 4 * 4 * 4 * 4
  13.          + 5 * 5 * 5 * 5
  14.          + 6 * 6 * 6 * 6
  15.          + 7 * 7 * 7 * 7 );

  16.   system("PAUSE");
  17.   return 0;
  18. }
    然而这个问题也可以利用变量来写
  1. /*
  2. 15.计算1^4+2^4+3^4+4^4+5^4+6^4+7^4。
  3. */
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. int main( void )
  7. {
  8.   int zrs = 0 , he = 0 ; // 自然数 ,和 。存放和的变量的初值一般设为0

  9.   zrs = zrs + 1;
  10.   he = he + zrs * zrs * zrs * zrs ;

  11.   zrs = zrs + 1;
  12.   he = he + zrs * zrs * zrs * zrs ;

  13.   zrs = zrs + 1;
  14.   he = he + zrs * zrs * zrs * zrs ;

  15.   zrs = zrs + 1;
  16.   he = he + zrs * zrs * zrs * zrs ;

  17.   zrs = zrs + 1;
  18.   he = he + zrs * zrs * zrs * zrs ;

  19.   zrs = zrs + 1;
  20.   he = he + zrs * zrs * zrs * zrs ;

  21.   zrs = zrs + 1;
  22.   he = he + zrs * zrs * zrs * zrs ;
  23.   
  24.   printf("和等于%d\n" , he );

  25.   system("PAUSE");
  26.   return 0;
  27. }
    在这个代码中he作为存放逐步累加出的"和"的变量,其初值一般总是定为0。这样的好处是把后面各步累加的过程“统一”化了(第一步可以写成和后面各步同样的形式)。这种“统一”简化了对后面各个步骤的描述(后面几段代码可以简单地通过复制粘贴完成)。在写代码时一定要考虑到自己如何表述比较方便。
    如果象下面那样完全地遵守平时做算术题的步骤,第一步先把1*1*1*1作为和,然后再逐步累加,则是很不足取的,也不利于以后的学习和进步。
  zrs = zrs + 1;
  he =  zrs * zrs * zrs * zrs ;
  zrs = zrs + 1;
  he = he + zrs * zrs * zrs * zrs ;
  ……
 
阅读(1533) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~