黑马程序员技术交流社区

标题: C语言问题 [打印本页]

作者: Melody丶Zhy    时间: 2015-1-9 00:14
标题: C语言问题
在2006年浙江省计算机相关专业招生8万人,假设每年增长10%,请问到哪一年招生人数会超过20万人?
用C语言while语句

作者: zyp115    时间: 2015-1-9 00:14
本帖最后由 zyp115 于 2015-1-9 01:12 编辑

//在2006年招生8万人,假设每年增长10%,招生人数会超过20万人是2006+i年
#include <stdio.h>
#define PERSON 8
#define A  0.1

int main()
{
   int sum = PERSON;
   int i = 1;
   while(sum < 20){
         sum *= (1 + A);
         i++;
       }
    printf("%d年后招生人数超过20万人", i + 2006);

     return 0;
}
作者: 寻觅    时间: 2015-1-9 00:47
哥们,我这个是用java写的,不过思想和C都是一样的,我机器上的C编译器不能用,所以就写个java的。


  1. /*需求:在2006年浙江省计算机相关专业招生8万人,假设每年增长10%,请问到哪一年招生人数会超过20万人?
  2.         用C语言while语句

  3. */


  4. class ClanguageTest
  5. {
  6.         public static void main(String[] args)
  7.         {
  8.                 int count = 0;//定义年份的累加
  9.                 int students = 80000;//定义初始学生数
  10.                 double zengzhanglv = 0.1;//定义增长率


  11.                 while(students<200000)//在招生少于20万的情况下要循环累加计算
  12.                 {
  13.                         students = (int)(students+students*zengzhanglv);//本年的学生==前一年的数目+增长的学生数
  14.                     count++;//年份加一
  15.                 }

  16.                 System.out.println(count+2006+"年招生人数超过20万,为"+students+"万人");
  17.         }
  18. }
复制代码

作者: Melody丶Zhy    时间: 2015-1-9 11:50
寻觅 发表于 2015-1-9 00:47
哥们,我这个是用java写的,不过思想和C都是一样的,我机器上的C编译器不能用,所以就写个java的。

sorry 哥们下面有个c写的 不给他有点对不住。。麻烦你了
作者: Melody丶Zhy    时间: 2015-1-9 11:53
zyp115 发表于 2015-1-9 01:09
//在2006年招生8万人,假设每年增长10%,招生人数会超过20万人是2006+i年
#include
#define PERSON 8

   谢了~问下宏定义是不是执行效率更高一些,还是你的写法习惯啊
作者: zyp115    时间: 2015-1-9 18:31
老师说的是常量最好宏定义下,方便以后万一修改数据
作者: Melody丶Zhy    时间: 2015-1-10 00:37
zyp115 发表于 2015-1-9 18:31
老师说的是常量最好宏定义下,方便以后万一修改数据

懂了~ 谢了




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