语言经典100例

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

 1 "use strict";
 2 /*
 3 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
 4 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
 5 
 6 */
 7 let i,j,k;
 8 console.log("\n");
 9 for(i=1;i<5;i++) { // 以下为三重循环
10     for(j=1;j<5;j++) {
11         for (k=1;k<5;k++) { // 确保i、j、k三位互不相同
12             if (i!=k&&i!=j&&j!=k) { 
13                 //console.log(""+i+j+k);
14                 //console.log(i*100+j*10+k);
15                 console.log((i*100+j*10+k).toString());
16             }
17         }
18     }
19 }
View Code

 输入年,月,打印对应年月的日历

  1 "use strict";
  2 //问题:输入年,月,打印对应年月的日历
  3 
  4 
  5 /*
  6 问题分析:
  7 
  8     1,首先1970年是Unix系统诞生的时间,1970年成为Unix的元年,1970年1月1号是星期四,现在大多的手机的日历功能只能显示到1970年1月1日这一天;
  9 
 10     2,要想打印某年某月的日历,首先应该计算出这个月1号是星期几?
 11 
 12          解决1号是星期几?
 13 
 14         2.1: 先计算出年天数,即截至这一年1月1号的天数,用for循环,从1970年开始,闰年+366,平年+365;
 15 
 16         2.2: 计算出月天数,即截至本月1号的天数,用for循环,从1月份开始,算出月天数;
 17 
 18                2.1.1 :用到闰年判断,用switch来判断返回月天数;
 19 
 20         2.3: 用年天数加月天数,求得本月1号距离1970年1月1号的总天数,用总天数来判断本月1号是星期几;
 21 
 22     3, 判断本月的总天数(用到switch语句);
 23 
 24     4, 打印日历;
 25 */ 
 26 
 27 
 28 
 29 
 30 //今天的目标,输入一个年份,判断是闰年还是平年  闰年366天  平年是365天   /   %
 31 /*
 32 1、普通年能被4整除且不能被100整除的为闰年。(如2004年就是闰年,1900年不是闰年)
 33 
 34 2、世纪年能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)
 35 
 36 3、对于数值很大的年份,这年如果能整除3200,并且能整除172800则是闰年。
 37 */
 38 //var year=1900;
 39 var mdays=0;
 40 var printString=""
 41 var year=window.prompt("请输入年份");
 42 if(isNaN(year)){
 43     console.log("您输入的不是数字,程序中断!");
 44 }
 45 // if(year%4==0 && year%100!=0 || year%400==0){
 46 //     console.log(year+"是闰年");
 47 //     console.log("有366天");
 48 //     console.log("二月份有29天");
 49 
 50 
 51 // }
 52 // else{
 53 //     console.log(year+"是平年");
 54 //     console.log("有365天");
 55 //     console.log("二月份有28天");
 56 // }
 57 
 58 var month=window.prompt("请输入月份");
 59 if(isNaN(month)){
 60     console.log("您输入的不是数字,程序中断!");
 61 
 62 }else{
 63     if (month>12 || month<1){
 64         console.log("您输入的月份超出范围,程序中断!");
 65     }
 66     else{
 67         //console.log("111111111");
 68         
 69         // month=parseInt(month)
 70         // switch (month){
 71         //     case 1:
 72         //     case 3:
 73         //     case 5:
 74         //     case 7:
 75         //     case 8:
 76         //     case 10:
 77         //     case 12:{
 78         //         console.log(month+"月份有31天");
 79         //         mdays=31;
 80         //     }
 81             
 82         //     break;
 83         //     case 4:
 84         //     case 6:
 85         //     case 9:
 86         //     case 11:
 87         //     {
 88         //        console.log(month+"月份有30天"); 
 89         //        mdays=30;
 90         //     }
 91             
 92         //     break;
 93         //     case 2:{
 94         //         if(year%4==0 && year%100!=0 || year%400==0){
 95         //             // console.log(year+"是闰年");
 96         //             // console.log("有366天");
 97         //             // console.log("二月份有29天");
 98         //             mdays=29;
 99                 
100                 
101         //         }
102         //         else{
103         //             // console.log(year+"是平年");
104         //             // console.log("有365天");
105         //             // console.log("二月份有28天");
106         //             mdays=28;
107         //         }
108         //     }
109         //     break;
110         //     default:
111         //     console.log("您输入的月份超出范围,程序中断!");
112             
113         // }
114         //console.log("++++++++++++++++"+mdays+typeof(mdays));
115        
116         //用年天数加月天数,求得本月1号距离1970年1月1号的总天数,用总天数来判断本月1号是星期几;
117         var sumdays=0;
118         for(let to_years=1970;to_years<year;to_years++){
119             if(year%4==0 && year%100!=0 || year%400==0){
120                 // console.log(year+"是闰年");
121                 // console.log("有366天");
122                 // console.log("二月份有29天");
123                 //mdays=29;
124                 sumdays+=366;
125             
126             
127             }
128             else{
129                 // console.log(year+"是平年");
130                 // console.log("有365天");
131                 // console.log("二月份有28天");
132                 //mdays=28;
133                 sumdays+=365;
134             }
135         }
136         //本年这个月之前的天数统计
137         //用算组语句,算出本月多少天  -----   用数组的知识点来判断算出当月有多少天
138         var now_year_month=new Array();
139         let month31=[1,3,5,7,8,10,12];
140         let month30=[4,6,9,11];
141         for(let m=1;m<month;m++){
142             if(month31.includes(m)){
143                 sumdays+=31;
144             }
145             else if(month30.includes(m)){
146                 sumdays+=30;
147             }else{
148                 // 1、判断本年是否为闰年 如果为闰年,二月份应该是29天,否则平年 二月份28天
149                 if(year%4==0 && year%100!=0 || year%400==0){
150                     // console.log(year+"是闰年");
151                     // console.log("有366天");
152                     // console.log("二月份有29天");
153                     //mdays=29;
154                     sumdays+=29;
155 
156 
157                 }
158                 else{
159                     // console.log(year+"是平年");
160                     // console.log("有365天");
161                     // console.log("二月份有28天");
162                     //mdays=28;
163                     sumdays+=28;
164                 }
165             }
166 
167         }
168         console.log("现在拿到的天数是:本月1号距离1970年1月1号的总天数"+sumdays);
169         console.log("本月1号是星期几---》》:"+(sumdays%7));
170         console.log("差两天才是正确的,调整一下:"+((sumdays+2)%7));
171 
172 
173         
174         //用switch语句,算出本月多少天
175         month=parseInt(month)//数值的转换 知识点
176         switch (month){
177             case 1:
178             case 3:
179             case 5:
180             case 7:
181             case 8:
182             case 10:
183             case 12:{
184                 console.log(month+"月份有31天");
185                 mdays=31;
186             }
187             
188             break;
189             case 4:
190             case 6:
191             case 9:
192             case 11:
193             {
194                console.log(month+"月份有30天"); 
195                mdays=30;
196             }
197             
198             break;
199             case 2:{
200                 if(year%4==0 && year%100!=0 || year%400==0){
201                     // console.log(year+"是闰年");
202                     // console.log("有366天");
203                     // console.log("二月份有29天");
204                     mdays=29;
205                 }
206                 else{
207                     // console.log(year+"是平年");
208                     // console.log("有365天");
209                     // console.log("二月份有28天");
210                     mdays=28;
211                 }
212             }
213             break;
214             default:
215             console.log("您输入的月份超出范围,程序中断!");
216         }
217 
218 
219         
220         var remain_days=(sumdays+1)%7; //计算出上个月的最后一天星期几
221         for(let a=0;a<remain_days;a++){
222             printString+=""+"\t";
223         }
224 
225         // mdays+=remain_days;
226         for(var i = 1;i <= mdays; i++){
227             //console.info("---"+i%7);
228             let huanh=remain_days+i;
229             if(huanh%7==0){
230                 printString+=i+"\n";
231                 
232             }else{
233                 
234                 printString+=i+"\t";
235                 continue;
236                 
237             }
238             var cishu=0;
239             console.log("测试走了多少次:"+(cishu++));
240             huanh=i;
241         }
242         console.log(year+"年"+month+"月")
243          console.log("一\t二\t三\t四\t五\t六\t日");
244         console.log(printString);
245 
246 
247     }
248 }
View Code

 

 

  1 "use strict";
  2 //问题:输入年,月,打印对应年月的日历
  3 
  4 
  5 /*
  6 问题分析:
  7 
  8     1,首先1970年是Unix系统诞生的时间,1970年成为Unix的元年,1970年1月1号是星期四,现在大多的手机的日历功能只能显示到1970年1月1日这一天;
  9 
 10     2,要想打印某年某月的日历,首先应该计算出这个月1号是星期几?
 11 
 12          解决1号是星期几?
 13 
 14         2.1: 先计算出年天数,即截至这一年1月1号的天数,用for循环,从1970年开始,闰年+366,平年+365;
 15 
 16         2.2: 计算出月天数,即截至本月1号的天数,用for循环,从1月份开始,算出月天数;
 17 
 18                2.1.1 :用到闰年判断,用switch来判断返回月天数;
 19 
 20         2.3: 用年天数加月天数,求得本月1号距离1970年1月1号的总天数,用总天数来判断本月1号是星期几;
 21 
 22     3, 判断本月的总天数(用到switch语句);
 23 
 24     4, 打印日历;
 25 */ 
 26 
 27 
 28 
 29 
 30 //今天的目标,输入一个年份,判断是闰年还是平年  闰年366天  平年是365天   /   %
 31 /*
 32 1、普通年能被4整除且不能被100整除的为闰年。(如2004年就是闰年,1900年不是闰年)
 33 
 34 2、世纪年能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)
 35 
 36 3、对于数值很大的年份,这年如果能整除3200,并且能整除172800则是闰年。
 37 */
 38 //var year=1900;
 39 var mdays=0;
 40 var printString=""
 41 var year=window.prompt("请输入年份");
 42 if(isNaN(year)){
 43     console.log("您输入的不是数字,程序中断!");
 44 }
 45 // if(year%4==0 && year%100!=0 || year%400==0){
 46 //     console.log(year+"是闰年");
 47 //     console.log("有366天");
 48 //     console.log("二月份有29天");
 49 
 50 
 51 // }
 52 // else{
 53 //     console.log(year+"是平年");
 54 //     console.log("有365天");
 55 //     console.log("二月份有28天");
 56 // }
 57 
 58 var month=window.prompt("请输入月份");
 59 if(isNaN(month)){
 60     console.log("您输入的不是数字,程序中断!");
 61 
 62 }else{
 63     if (month>12 || month<1){
 64         console.log("您输入的月份超出范围,程序中断!");
 65     }
 66     else{
 67         //console.log("111111111");
 68         
 69         // month=parseInt(month)
 70         // switch (month){
 71         //     case 1:
 72         //     case 3:
 73         //     case 5:
 74         //     case 7:
 75         //     case 8:
 76         //     case 10:
 77         //     case 12:{
 78         //         console.log(month+"月份有31天");
 79         //         mdays=31;
 80         //     }
 81             
 82         //     break;
 83         //     case 4:
 84         //     case 6:
 85         //     case 9:
 86         //     case 11:
 87         //     {
 88         //        console.log(month+"月份有30天"); 
 89         //        mdays=30;
 90         //     }
 91             
 92         //     break;
 93         //     case 2:{
 94         //         if(year%4==0 && year%100!=0 || year%400==0){
 95         //             // console.log(year+"是闰年");
 96         //             // console.log("有366天");
 97         //             // console.log("二月份有29天");
 98         //             mdays=29;
 99                 
100                 
101         //         }
102         //         else{
103         //             // console.log(year+"是平年");
104         //             // console.log("有365天");
105         //             // console.log("二月份有28天");
106         //             mdays=28;
107         //         }
108         //     }
109         //     break;
110         //     default:
111         //     console.log("您输入的月份超出范围,程序中断!");
112             
113         // }
114         //console.log("++++++++++++++++"+mdays+typeof(mdays));
115        
116         //用年天数加月天数,求得本月1号距离1970年1月1号的总天数,用总天数来判断本月1号是星期几;
117         var sumdays=0;
118         for(let to_years=1970;to_years<year;to_years++){
119             if(to_years%4==0 && to_years%100!=0 || to_years%400==0){
120                 // console.log(year+"是闰年");
121                 // console.log("有366天");
122                 // console.log("二月份有29天");
123                 //mdays=29;
124                 sumdays+=366;
125             
126             
127             }
128             else{
129                 // console.log(year+"是平年");
130                 // console.log("有365天");
131                 // console.log("二月份有28天");
132                 //mdays=28;
133                 sumdays+=365;
134             }
135         }
136         //本年这个月之前的天数统计
137         //用算组语句,算出本月多少天  -----   用数组的知识点来判断算出当月有多少天
138         var now_year_month=new Array();
139         let month31=[1,3,5,7,8,10,12];
140         let month30=[4,6,9,11];
141         for(let m=1;m<month;m++){
142             if(month31.includes(m)){
143                 sumdays+=31;
144             }
145             else if(month30.includes(m)){
146                 sumdays+=30;
147             }else{
148                 // 1、判断本年是否为闰年 如果为闰年,二月份应该是29天,否则平年 二月份28天
149                 if(year%4==0 && year%100!=0 || year%400==0){
150                     // console.log(year+"是闰年");
151                     // console.log("有366天");
152                     // console.log("二月份有29天");
153                     //mdays=29;
154                     sumdays+=29;
155 
156 
157                 }
158                 else{
159                     // console.log(year+"是平年");
160                     // console.log("有365天");
161                     // console.log("二月份有28天");
162                     //mdays=28;
163                     sumdays+=28;
164                 }
165             }
166 
167         }
168         console.log("现在拿到的天数是:本月1号距离1970年1月1号的总天数"+sumdays);
169         console.log("本月1号是星期几---》》:"+(sumdays%7));
170         console.log("差两天才是正确的,调整一下:"+((sumdays+4)%7));
171 
172 
173         
174         //用switch语句,算出本月多少天
175         month=parseInt(month)//数值的转换 知识点
176         switch (month){
177             case 1:
178             case 3:
179             case 5:
180             case 7:
181             case 8:
182             case 10:
183             case 12:{
184                 console.log(month+"月份有31天");
185                 mdays=31;
186             }
187             
188             break;
189             case 4:
190             case 6:
191             case 9:
192             case 11:
193             {
194                console.log(month+"月份有30天"); 
195                mdays=30;
196             }
197             
198             break;
199             case 2:{
200                 if(year%4==0 && year%100!=0 || year%400==0){
201                     // console.log(year+"是闰年");
202                     // console.log("有366天");
203                     // console.log("二月份有29天");
204                     mdays=29;
205                 }
206                 else{
207                     // console.log(year+"是平年");
208                     // console.log("有365天");
209                     // console.log("二月份有28天");
210                     mdays=28;
211                 }
212             }
213             break;
214             default:
215             console.log("您输入的月份超出范围,程序中断!");
216         }
217 
218 
219         
220         var remain_days=(sumdays+3)%7; //计算出上个月的最后一天星期几
221         for(let a=0;a<remain_days;a++){
222             printString+=""+"\t";
223         }
224 
225         // mdays+=remain_days;
226         for(var i = 1;i <= mdays; i++){
227             //console.info("---"+i%7);
228             let huanh=remain_days+i;
229             if(huanh%7==0){
230                 printString+=i+"\n";
231                 continue;
232                 
233             }else{
234                 
235                 printString+=i+"\t";
236                 continue;
237                 
238             }
239             // var cishu=0;
240             // console.log("测试走了多少次:"+(cishu++));
241             //huanh=i;
242         }
243         console.log(year+"年"+month+"月")
244          console.log("一\t二\t三\t四\t五\t六\t日");
245         console.log(printString);
246 
247 
248     }
249 }
修复小问题

 

 

posted @ 2019-01-28 11:39  巨兽~墨菲特  阅读(223)  评论(0编辑  收藏  举报