码迷,mamicode.com
首页 > 其他好文 > 详细

经典案例-打印杨辉三角、计算天数

时间:2017-12-10 15:17:02      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:cas   打印   返回   4行   style   ==   简单   else   用户输入   

//日期计算 用户输入年月日,返回是这一年的第几天
let readline = require("readline-sync");
console.log("请输入年份");
let year = parseInt(readline.question(""));
console.log("请输入月份");
let month = parseInt(readline.question(""));
console.log("请输入日期");
let day = parseInt(readline.question(""));
let sum = 0;
switch(month-1)
{
  case 11:
    sum += 30;
  case 10:
    sum += 31;
  case 9:
    sum += 30;
  case 8:
    sum +=31;
  case 7:
    sum += 31;
  case 6:
    sum += 30;
  case 5:
    sum += 31;
  case 4:
    sum += 30;
  case 3:
    sum += 31;
  case 2:
  {
    if((year%4==0 && year%100!=0) || year%400==0)
    {
      sum += 29;
    }
    else{
      sum += 28;
    }
  }
  case 1:
    sum += 31;
}
console.log(`这是今年的第${sum+day}`);
//打印杨辉三角
//      1
//    1   1
//   1  2   1
// 1  3   3   1
// 例如用户输入4
// 1行  1个数   a[0][0]   1
// 2行  2个数   a[1][0]   1    a[1][1]   1
// 3行  3个数   a[2][0]   1    a[2][1]   2     a[2][2]   1
// 4行  4个数   a[3][0]   1    a[3][1]   3     a[3][2]   3     a[3][3]    1
// 假设数组的第一个下标为i  第二个下标为j
// j=0   a[i][j] = 1
// i==j  a[i][j] = 1
//       a[i][j] = a[i-1][j-1] + a[i-1][j]
let readline = require("readline-sync");
console.log("请输入杨辉三角的行数:");
let line = parseInt(readline.question(""));
let arr = [];//声明一个空数组用于存储杨辉三角里面的数
let str = "";//用于拼接字符串
//外层for循环用于控制杨辉三角的行数
for(let i=0;i<line;i++)
{
  arr[i] = [];//开辟空间,使其成为二维数组
  //内层for循环 控制要打印数字的个数 通过上面简单分析 第多少行 就打印多少个数
  for(let j=0;j<=i;j++)
  {
    if(j==0 || i==j)
    {
      arr[i][j] = 1;
    }
    else{
      arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
    }
  }
  //该层for循环主要用于打印空格
  for(let j=0;j<line-i;j++)
  {
    str += " ";
  }
  console.log(str + arr[i]);//打印前面的空格以及该行数字
  str = "";//清空空格的字符串
}

 

经典案例-打印杨辉三角、计算天数

标签:cas   打印   返回   4行   style   ==   简单   else   用户输入   

原文地址:http://www.cnblogs.com/opacity-m/p/8016910.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!