-
Notifications
You must be signed in to change notification settings - Fork 2
/
javascript练习题.html
420 lines (293 loc) · 10.8 KB
/
javascript练习题.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>works</title>
<script>
//1.求两个数的最大数
//2.判断一个数是偶数还是奇数
//3.分数转换,把百分制转换成ABCDE <60 E 60-70 D 70-80 C 80-90 B 90 - 100 A
//4.判断一个年份是闰年还是平年,闰年:能被4整除,但不能被100整除的年份 或者 能被400整除的年份
//5.判断一个人的年龄是否满18岁(是否成年)
//1.求两个数的最大数
//1.显示月份对应的四季;
//2.素质教育(把分数变成ABCDE)千万不要写100个case哟
// 1.打印1-100之间的所有数字
// 2.打印1-100之间的所有数字之和
// 3.打印100以内7的倍数
// 4.打印100以内所有偶数
// 5.打印100以内所有偶数的和
//1.求100以内所有3的倍数的和
//求1-100之间所有数的乘积
// 求1-100之间所有奇数的和
// 计算1-100之间能3整除的数的和
// 计算1-100之间不能被7整除的数的和
// 讲解思路。如果不会写程序,可以先把数学公式准备好
// 重点1.本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作
//为新的本金。计算5年后,获得的本金是多少?
// 1.求一组数中的所有数的和和平均值
// 2.求一组数中的最大值和最小值,以及所在位置
// 3.将字符串数组用|或其他符号分割
// 4.要求将数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组
//1.使用新数组接收;(不修改原数组)
//a.正向遍历,反向添加;
//b.反向遍历,正向添加;
//2.不使用新数组接收;(修改原数组)
// //a.原数组中的元素前后交换位置;(第一和倒数第一交换,第二和倒数第二交换...)
//冒泡排序:给元素排列顺序;
//思路:共比较元素个数-1轮,每轮比较元素个数-1次(轮数和次数都用for循环)
// 满足某一条件,相邻两个元素就前后交换位置;
// 3.圆的面积
// 1.求斐波那契数列Fibonacci中的第n个数是多少?
// 1,1,2,3,5,8,13
// console.log(fn(7));
// function fn(n){
// var x = 1;
// var y = 1;
// for(var i=3;i<=n;i++){
// var temp = x;
// x = x+y;
// y = temp;
// }
// return x;
// }
// 2.翻转数组,返回一个新数组
// var arr = [9,2,5,7,3,4,6,8];
// var Arr = [];
// for(var i=0;i<arr.length;i++){
// Arr[i] = arr[arr.length-1-i];
// }
// console.log(Arr);
// 3.对数组排序,从小到大
// var arr = [9,2,5,7,3,4,6,8];
// for(var i=0;i<arr.length;i++){
// var bool = true;
// for(var j=0;j<arr.length-1-i;j++){
// if(arr[j]>arr[j+1]){
// var temp = arr[j];
// arr[j] = arr[j+1];
// arr[j+1] = temp;
// bool = false;
// }
// }
// if(bool) {
// break;
// }
// }
// console.log(arr);
// 4.判断一个数是否是素数(又叫质数,只能被1和自身整除的数)
// fn(prompt('判断一个数是不是素数',));
// function fn(num){
// num = parseInt(num);
// for(var i=2;i<num;i++){
// if(num%i===0){
// alert('不是素数');
// break;
// }else{
// return alert('是素数');
// }
// }
// }
// 1.输入某年某月某日,判断这一天是这一年的第几天?
//思路:累加当月的天数,之前月份的所有天数,和当前是否是闰年;
//自定义一个数组,装着每个月的天数,以平年为准,如果是闰年,且大于2月,增加1天;
// var arr = [31,28,31,30,31,30,31,30,31,30,31,30,31];
// alert(fn(2016,8,20));
// function fn(y,m,d){
// var str = 0;
// for(var i=0;i<m;i++){
// str += arr[i];
// }
// str += d;
// if(y%4==0 && y%100!=0 || y%400==0){
// str ++;
// }
// return str;
// }
//8、不断要求用户输入一个数字,然后打印这个数字的二倍,
//当用户输入q的时候程序退出。
// var bool = true;
// while(bool){
// var num = prompt('请输入一个数字',);
// if(num === 'q'){
// bool = false;
// break;
// }
// alert(parseInt(num*2));
// }
//10、编写一个程序要求循环录入5个人的年龄并计算平均年龄,
//如果录入的数据出现负数或大于100的数,立即停止输入,并提示输入有误
// var arr = 0;
// for(var i=0;i<=4;i++){
// var num = parseInt(prompt());
// arr += num;
// }
// alert(arr/5);
//2.使用do-while循环:输出询问“我爱你,嫁给我吧?”,选择“你喜欢我吗?(y/n):",
//如果输入为y则打印”我们形影不离“,若输入为n,则继续询问
// do{
// var bool = confirm("我喜欢你嫁给我吧?");
// if(bool){
// alert("太好了我们去三亚玩吧!听说淡季机票两折,房间也很便宜!");
// }
// }while(!bool);
// 提款机案例
// prompt('请输入密码',);
// var bool = true;
// while(bool){
// var arr = parseInt(prompt('1、查余额\r2、存款\r3、取款\r4、退出',));
// if(arr === 4){
// // bool = false;
// break;
// }else if(0 < arr && arr <= 3){
// alert("哈哈哈");
// }else{
// alert("请输入正确的数字");
// // arr = prompt('1、查余额\t2、存款\t3、取款\t4、退出',);
// }
// }
// 数组去重三种方法
// var arr = [2,4,5,6,7,8,9,9,0,6,5,3,2,3,4,5];
// 第一种
// console.log(fn(arr));
// function fn(num){
// var newArr = [];
// for(var i=0;i<num.length;i++){
// var bool = true;
// for(var j=0;j<newArr.length;j++){
// if(arr[i] ===newArr[j]){
// bool = false;
// break;
// }
// }
// if(bool){
// newArr[newArr.length] = arr[i];
// }
// }
// return newArr;
// }
// 第二种
// var newArr = [];
// console.log(fn(arr));
// function fn(num){
// for(var i=0;i<num.length;i++){
// if(newArr.indexOf(num[i]) == -1){
// newArr[newArr.length] = num[i];
// }
// }
// return newArr;
// }
// 第三种
// var newArr = [];
// arr.forEach(function(ele,index,array){
// if(newArr.indexOf(ele) === -1){
// newArr.push(ele);
// }
// })
// console.log(newArr);
//1.截取字符串"我爱中华人民共和国",中的"中华"
// var str = "我爱中华人民共和国";
// console.log(str.slice(2,4));
//2."abcoefoxyozzopp"查找字符串中所有o出现的位置
// var str = "abcoefoxyozzopp";
// for(var i=0;i<str.length;i++){
// if(str.charAt(i)==="o"){
// console.log(i);
// }
// }
//3.把字符串中所有的o替换成!
// console.log(str.replace(/o/g,"!"));
//4.把字符串中的所有空白去掉' abc xyz a 123 '
// var str = ' abc xyz a 123 ';
// console.log(str.replace(/ /g,""));
//5.判断一个字符串中出现次数最多的字符,统计这个次数
// var str = "abcoefoxyozzopp";
// var json = {};
// for(var i=0;i<str.length;i++){
// var zimu = str.charAt(i);
// if(json[zimu] === undefined){
// json[zimu] = 1;
// }else{
// json[zimu] +=1;
// }
// }
// console.log(json);
//6.获取url中?后面的内容,并转化成对象的形式。例如:http://www.itheima.com/login?name=zs&age=18&a=1&b=2
// var str = "http://www.itheima.com/login?name=zs&age=18&a=1&b=2";
// var index = str.lastIndexOf("?");
// var str1 = str.slice(index+1);
// var arr = str1.split("&");
// console.log(arr);
// var json = {};
// for(var i=0;i<arr.length;i++){
// var arr1 = arr[i].split("=");
// json[arr1[0]] = arr1[1];
// }
// console.log(json);
// 1. 封装一个函数,实现格式化日期。 如: 2018年10月10日 12点12分12秒
// var date2 = new Date("2016/01/27 12:00:00")
// 2. 用函数封装一个功能,实现两个日期的时间差。 两个时间相差多少小时 零多分钟 零多少秒
// window.onload = function(){
// setInterval(function fn(){
// var nowTime = new Date().getTime();
// var futureTime = new Date("2018/7/1");
// var ZSJ = futureTime - nowTime;
// var day = parseInt(ZSJ/1000/60/60/24);
// var hour = parseInt(ZSJ/1000/60/60%24);
// var minute= parseInt(ZSJ/1000/60%60);
// var second= parseInt(ZSJ/1000%60);
// var str = "距离明天还有"+day+"天"+hour+"小时"+minute+"分"+second+"秒";
// var box = document.getElementById("box");
// box.innerHTML = str;
// },1);
// }
// 1.把今天的时间打印到控制台;
// // - 模拟实现max()/min()
// var MyMath = new Object();
// MyMath.min = function (){
// var val = arguments[0];
// for(var i=0;i<arguments.length;i++){
// if(argu ments[i]<val){
// val = arguments[i];
// }
// }
// return val;
// }
// console.log(MyMath.min(1,-2,4,8,10))
// Math对象原理和max;(最小值自己做)
// var OutMath = {
// max:function (){
// var num = arguments[0];
// for(var i=0;i<arguments.length;i++){
// if(num>arguments[i]){
// num = arguments[i];
// }
// }
// return num;
// }
// }
// console.log(OutMath.max(17,94,12,5,73));
// Math.random();生成随机数 [0,1);能取到0,不能取到1;
// console.log(Math.random());
// console.log(parseInt(Math.random()*101));//[0-100];
// console.log(50+parseInt(Mathrandom()*51));[50-100];
// Math.abs()//取绝对值
// console.log(Math.abs(-111));
// console.log(Math.abs());
</script>
</head>
<body>
<div id = "box"></div>
<script>
// - 随机生成颜色rgb(0,0,0); 0-255;
// for(var i=0;i<10;i++){
// var num1 = parseInt(Math.random()*256);
// var num2 = parseInt(Math.random()*256);
// var num3 = parseInt(Math.random()*256);
// var str = "rgb("+num1+","+num2+","+num3+")";
// console.log(str);
// document.body.bgColor = str;
// }
</script>
</body>
</html>