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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Melody丶Zhy 中级黑马   /  2015-1-9 00:14  /  3075 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

5黑马币
在2006年浙江省计算机相关专业招生8万人,假设每年增长10%,请问到哪一年招生人数会超过20万人?
用C语言while语句

最佳答案

查看完整内容

//在2006年招生8万人,假设每年增长10%,招生人数会超过20万人是2006+i年 #include #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; }

6 个回复

倒序浏览
本帖最后由 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;
}
回复 使用道具 举报
哥们,我这个是用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. }
复制代码
回复 使用道具 举报
寻觅 发表于 2015-1-9 00:47
哥们,我这个是用java写的,不过思想和C都是一样的,我机器上的C编译器不能用,所以就写个java的。

sorry 哥们下面有个c写的 不给他有点对不住。。麻烦你了
回复 使用道具 举报
zyp115 发表于 2015-1-9 01:09
//在2006年招生8万人,假设每年增长10%,招生人数会超过20万人是2006+i年
#include
#define PERSON 8

   谢了~问下宏定义是不是执行效率更高一些,还是你的写法习惯啊
回复 使用道具 举报
老师说的是常量最好宏定义下,方便以后万一修改数据
回复 使用道具 举报
zyp115 发表于 2015-1-9 18:31
老师说的是常量最好宏定义下,方便以后万一修改数据

懂了~ 谢了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马