A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 远人 于 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步老师构建的求和方法我觉得很有意思,但是我自己现阶段肯定是想不出来,我想问:这就是所谓的程序员思维模式吗?如何培养如此的解题思维,为未来打下基础?

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

2 个回复

倒序浏览
只有多做练习,多思考,多敲代码,你的思路自然会越来越清晰。把问题上的已知条件和未知条件想清楚,当你不清楚怎么解题的时候,可以把一个大的问题,拆成小的问题,分开来解题,总之有很多思路和维度可以尝试

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

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
沙洲冷 来自手机 中级黑马 2014-3-22 17:27:47
藤椅
一定要多练!不能只看懂代码就行了,看懂了跟你自己能写出来是完全不同的两个概念。练多了,自然而然就有思路了。刚开始看到问题没有思路,可以自己试着思考,自己试着写些代码,然后再看别人写的代码,看看别人的思路,然后再看看自己的代码有什么不足,再完善一下。多思考多练,慢慢就会了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马