黑马程序员技术交流社区

标题: while练习题的思考-----如何培养程序员思维模式? [打印本页]

作者: 远人    时间: 2014-3-22 12:59
标题: while练习题的思考-----如何培养程序员思维模式?
本帖最后由 远人 于 2014-3-24 21:55 编辑

这是一道关于while的练习题:1.提示用户输入一个正整数n,计算1+2+3+4+...+n的和
下面是老师的求解过程:

  1. #include <stdio.h>

  2. int main(int argc, const char * argv[])
  3. {
  4.    //1.提示用户输入正整数n
  5.     printf("请输入一个整数:");
  6.    
  7.     //2.接受用户输入的整数n
  8.     int n;
  9.     scanf("%d",&n);
  10.    
  11.     //确保输入的数字是正整数
  12.     if (n <= 0) {
  13.         printf("非法输入\n");
  14.         return 0;
  15.     }
  16.    
  17.     //3.计算1+2+3+...+n的和
  18.    
  19.     int sum = 0;
  20.     int number = 0;//默认被加的数值
  21.    
  22.     while (number < n) {
  23.         
  24.         number++;
  25.         sum += number;//累加
  26.     }
  27.    
  28.     printf("%d\n",sum);

  29.     return 0;
  30. }
复制代码


这个求解过程第3步老师构建的求和方法我觉得很有意思,但是我自己现阶段肯定是想不出来,我想问:这就是所谓的程序员思维模式吗?如何培养如此的解题思维,为未来打下基础?
作者: 罗冠坤    时间: 2014-3-22 13:25
只有多做练习,多思考,多敲代码,你的思路自然会越来越清晰。把问题上的已知条件和未知条件想清楚,当你不清楚怎么解题的时候,可以把一个大的问题,拆成小的问题,分开来解题,总之有很多思路和维度可以尝试

上面的求和还可以写成如下的:
  1.         int a = 1;
  2.         int b = 5;
  3.         int count = 0;
  4.         while(a <= b){
  5.          count+=a++;          
  6.         }
复制代码

作者: 沙洲冷    时间: 2014-3-22 17:27
一定要多练!不能只看懂代码就行了,看懂了跟你自己能写出来是完全不同的两个概念。练多了,自然而然就有思路了。刚开始看到问题没有思路,可以自己试着思考,自己试着写些代码,然后再看别人写的代码,看看别人的思路,然后再看看自己的代码有什么不足,再完善一下。多思考多练,慢慢就会了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2