一、编写一个函数,计算两个数字的和、差、积、商
- 思路:首先定义一个函数,声明式和赋值式都行,然后给3个形参,分别用来接收num1、num2、加减乘除的标识、然后用switch来进行判断,当
b为1的时候表示2数相加,当b为2的时候表示2数相减,当b为3的时候表示2数相乘,当b为4的时候表示2数相除。
function a(num1,num2,b){
switch (b){
case 1:
return num1+num2;
break;
case 2:
return num1-num2;
break;
case 3:
return num1*num2;
break;
case 4:
return num1/num2;
break;
}
}
alert(a(1,2,1))
二、 编写一个函数,计算三个数字的大小,按从小到大顺序输出
1. 方法一(基础)
- 思路:我们先假设第一个数是最小的,定义
min用来存放下标为0的最小值,然后用for循环一一比较,如果有数比这个数小,就将更小的数赋值给min,然后定义一个max用来存放最大值,也是通过循环一一比较,将最大的值赋值给max,最后剩下的那个数就是中间的数
function mySort() {
var min = arguments[0]
var max = arguments[0]
var mid = arguments[0]
for (var i = 0
if (arguments[i] < min) {
min = arguments[i]
}else if(arguments[i] > max){
max = arguments[i]
}else if(arguments[i] != min && arguments[i] != max){
mid = arguments[i]
}
}
console.log(min,mid,max)
}
mySort(1,4,2)
2. 方法二(冒泡排序)
var numSort = function () {
var arr = arguments
for (var j = 0
for (var i = 0
if (arr[i] > arr[i + 1]) {
var temp = arr[i]
arr[i] = arr[i + 1]
arr[i + 1] = temp
}
}
}
return arr
}
console.log(numSort(1, 6, 4, 5, 123, 213, 3, 8, 9, 4, 5))
三、编写一个函数求一个数字是否是质数
- 思路:质数是只能被自己和1约,首先定义一个flag,初始值为true,用for,初始值为2,因为不需要1,然后用该数依次除以2到自己本身-1的数,如果有一个,flag变为false,则表示这个数不是质数。
var prime = function (num) {
var flag = true
for (i = 2
if (num % i == 0) {
flag = false
}
}
if (flag == false) {
console.log("这个数不是质数")
}
}
prime(9)
四、 编写一个函数,计算任意两个数字之间所能组成的奇数个数,数字必须是个位数
- 比如: 计算0-3之间能组成的奇数个是01、03、11、13、21、23、31、33
var o=function(num1,num2){
for(var i=0
let num
for(var j=0
num=i*10+j
if(j%2!=0){
console.log(num)
}
}
}
}
o(1,3)
五、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,请编写一个函数,传入原文,输出密文
function pa(a) {
var a1 = parseInt(a / 1000)
var a2 = parseInt(a / 100) % 10
var a3 = parseInt(a / 10) % 10
var a4 = a % 10
a1 = (a1 + 5) % 10
a2 = (a2 + 5) % 10
a3 = (a3 + 5) % 10
a4 = (a4 + 5) % 10
var a5
a5 = a4
a4 = a1
a1 = a5
a5 = a2
a2 = a3
a3 = a5
var num
num = a1 * 1000 + a2 * 100 + a3 * 10 + a4
console.log(num)
}
pa(1234)