- 输出10到1的偶数
- 输出1-100间能被7整除的数
- 输出1-21之间不能被7整除数的累加和
- 输出1-10与5相乘的结果
- 计算1-100的和并输出结果
- 把100-200之间不能被3整除的数输出
- 将1998-2008之间的闰年年份输出
- 求乘积等于100的所有乘数和被乘数(以一对的方式输出)
- 求斐波那契数列40个数,这个数列的特点为:第1,2两个数为1和1,从第三个数开始,该数是前面两个数的和,即1,1,2,3,5,8,13,21......
- 求数组中所有元素的和
- 求数组中所有元素的平均值
- 求数组中所有元素的最大值
- 倒序遍历输出数组
- 把数组中的每一个元素用&拼接到一起并输出
- 去掉数组中重复的0,并把其他的数据放在一个新的数组中
- 反转数组
- 冒泡排序:将一个数组按照从小到大的顺序进行排列
- 冒泡排序:将一个数组按照从大到小的顺序进行排列
- 请输入1-100之间能够被5和6整除或者能被7整除的数
- 打印输出100以内的不带7和7的倍数
- 打印一个分数(几分之几例如 2/1 3/2 .....)
- 打印输出100以内的 3的倍数和7的倍数
- 用do while 求 3! 3x2x1+2x1+1x1=9
- 100以内偶数与奇数相加
- 一个直角三角形
- 100以内不带7和7的倍数
- 求1-n的累加和
- 圆的面积
- 求两个数中的最大值
- 求三个值中的最大值
- 判断一个随机输入数是不是素数
- 函数写阶乘
- 求任意个数的最大值
- 求任意个数的和
- 求斐波那契数列Fibonacci中的第n个数是多少? 1 1 2 3 5 8 13 21...
- 输入一个年份,判断是否是闰年[闰年:能被4整数并且不能被100整数,或者能被400整数]
- 输入某年某月某日,判断这一天是这一年的第几天?(方法一)
- 输入某年某月某日,判断这一天是这一年的第几天?(方法二)
- 自己实现输入一个数获取长度
- 设计一个函数,输入行数和列数,生成相应表格
- 判断水仙花 例:153=1*1*1+5*5*5+3*3*3
- 使用1块,2块,5块钱,凑出20块钱的所有可能
- 请使用代码在页面上的效果
- 请使用代码实现,去掉一个最高分,去掉一个最低分之后求平均分是多少?
- 设计一个函数,让用户输入一个数字,然后反转输出该数字 例:2891 -》 1982
- 求10-20之间的随机数
- 随机生成rgb的颜色
- 将当前的时间格式化输出,封装成一个函数完成此操作 格式:2021年12月8日,17时21分15秒
- 随便输入两个时间戳/毫秒值判断相差 天 时 分 秒
- 截取字符串"我爱中华人民共和国",中的"中华"
- "abcoefoxyozzopp"查找字符串中所有o出现的位置
- 把字符串中所有的o替换成!
- 判断一个字符串中出现次数最多的字符,统计这个次数
- 将一个字符串数组输出为|分割的形式,比如“刘备|张飞|关羽”。使用两种方式实现
- 将一个字符串数组的元素的顺序进行反转。["a", "b", "c", "d"] -> [ "d","c","b","a"]。使用两种种方式实现。提示:第i个和第length-i-1个进行交换
- 数组[1500, 1200, 2000, 2100, 1800],把超过2000的删除
- ["c", "a", "z", "a", "x", "a"]找到数组中每一个a出现的位置
- 编写一个方法去掉一个数组的重复元素
- 判断输入的一个11位数的电话号码...要求是前3位是"010"然后跟着一个"-"...后面剩余个数都是数字
1.输出10到1的偶数
for(var a = 10;a >= 1;a--){
if(a % 2 == 0){
console.log(a)
}
}
2.输出1-100间能被7整除的数
for (var a = 1;a <= 100; a++) {
if(a % 7 == 0){
console.log(a)
}
}
3.输出1-21之间不能被7整除数的累加和
var s = 0
for (var a = 1; a <= 21; a++) {
if (7 % a != 0) {
s = a+s
console.log(s)
}
}
4.输出1-10与5相乘的结果
var a=1
while(a<=10){
var b=5
b*=a
console.log(a+"与5相乘的结果为:"+b)
a++
}
5.计算1-100的和并输出结果
var c=1
var d=0
while(c<=100){
d+=c
c++
}
console.log("1-100的和并输出结果为:"+d)
6.把100-200之间不能被3整除的数输出
var e=100
while(e<=200){
if(e%3 != 0){
console.log("100-200之间不能被3整除的数有:"+e)
}
e++
}
7.将1998-2008之间的闰年年份输出
while(f<=2008){
if(f%4==0 && f%100!=0 || f%400==0){
console.log("1998-2008之间的闰年年份有:"+f)
}
f++
}
8.求乘积等于100的所有乘数和被乘数(以一对的方式输出)
for(var t=-100;t<=50;t++){
for(var y=-100;y<=100;y++){
if(t*y==100){
console.log("乘积等于100的所有乘数和被乘数有:"+t,y);
};
};
};
9.求斐波那契数列40个数,这个数列的特点为:第1,2两个数为1和1,从第三个数开始,该数是前面两个数的和,即1,1,2,3,5,8,13,21......
var o=1;
var l=1;
var c;
var z=1;
while(z<=40){
c=o+l;
o=l;
l=c;
console.log("六-斐波那契数列"+z+"个数为:"+o);
z++;
};
10.求数组中所有元素的和
var a=[1,2,3,4,5];
var sum=0;
for(var i=0;i<=a.length-1;i++){
sum+=a[i];
};
console.log(sum);
11.求数组中所有元素的平均值
var b=[3,4,5,6,7];
var sum=0;
for(var i=0;i<=b.length-1;i++){
sum+=b[i];
};
var z=sum/b.length;
console.log(z);
12.求数组中所有元素的最大值
var c=[5,8,9,6,3,];
var r=c[0]; //5
for(var i=1;i<=c.length-1;i++){
if(r<c[i]){
r=c[i];
};
};
console.log(r);
13.倒序遍历输出数组
var f=[1,2,3,4,5];
var d=[];
var o=0;
var i=f.length-1;
while(i>=0){
d[o]=f[i];
o++;
i--;
};
console.log(d);
14.把数组中的每一个元素用&拼接到一起并输出
var arr1=[10,20,30,40,50];
var sum="";
for(var i=0;i<=arr1.length-2;i++){
sum+=arr1[i]+"&";
};
console.log(sum+arr1[arr1.length-1]);
15.去掉数组中重复的0,并把其他的数据放在一个新的数组中
var arr2=[11,0,3,21,32,0,2,0];
var nuw=[];
for(var i=0;i<=arr2.length-1;i++){
if(arr2[i]!=0){
nuw[nuw.length]=arr2[i];
};
};
console.log(nuw);
16.反转数组
var eiu=[10,20,30,40,50];
var temp;
var o=0;
for(var i=eiu.length-1;i>=2;i--){
temp=eiu[o];
eiu[o]=eiu[i];
eiu[i]=temp;
o++;
};
console.log(eiu);
17.冒泡排序:将一个数组按照从小到大的顺序进行排列
var temp;
for(var i=0;i<=arr.length-1;i++){ //外层循环一次
for(var j=0;j<=arr.length-i-1;j++){ //内层循环
if(arr[j]>arr[j+1]){
var temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
};
};
};
18.冒泡排序:将一个数组按照从大到小的顺序进行排列
var arr=[8,6,4,7,5];
var temp;
for(var i=0;i<=arr.length-1;i++){ //外层循环一次
for(var j=0;j<=arr.length-i-1;j++){ //内层循环
if(arr[j]<arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
};
};
};
console.log(arr);
19.请输入1-100之间能够被5和6整除或者能被7整除的数
for(var a=0;a<=100;a++){
if(a%5==0 && a%6==0 ||a%7==0){
console.log(a);
};
};
20.打印输出100以内的不带7和7的倍数
for(var i=0;i<=9;i++){
for(var o=1;o<=9;o++){
if(i!=7 && o!=7 && (10*i+o)%7==0){
var sum=10*i+o;
console.log(sum);
};
};
};
21.打印一个分数(几分之几例如 2/1 3/2 .....)
var temp=Number(prompt("请输入你要输入的数字"));
var temp1;
var a=1;
var b=1;
for(var i=1;i<=temp;i++){
temp1=a+b;
a=b;
b=temp1;
var sum=a+"/"+temp1;
console.log(sum);
};
22.打印输出100以内的 3的倍数和7的倍数
for(var i=1;i<=100;i++){
if(i%3==0 || i%7==0){
console.log(i);
};
};
23.用do while 求 3! ,结果为 3x2x1+2x1+1x1=9
var i=3;
var sum=0;
do{
var o=i; //2
var som=1;
while(o>=1){
som*=o;
o--;
}
sum+=som;
i--;
}while(i>=1);
console.log(sum);
24.100以内偶数与奇数相加
var sum=0;
var sum1=0;
function arr(a){
for(var i=1;i<=a;i++){
if(i%2==0){
sum+=i;
}else{
sum1+=i;
};
};
console.log("偶数为"+sum);
console.log("奇数为"+sum1);
};
arr(100);
25.一个直角三角形
function arr1(b){
for(var i=0;i<=b;i++){
document.write("<br />");
for(var o=1;o<=i;o++){
document.write(o+"*"+i+"="+o*i+" "+" "+" ");
};
};
};
arr1(9);
26.100以内不带7和7的倍数
function arr3(c){
for(var n=0;n<=c;n++){
for(var k=1;k<=c;k++){
if(n!=7 && k!=7 && (n*10+k)%7==0){
console.log(n*10+k);
};
};
};
};
arr3(9);
27.求1-n的累加和
function arr1(i,n){
var sum = 0;
for(;i<=n;i++){
sum+=i;
}
console.log(sum);
}
arr1(1,100);
28.圆的面积
function arr3(r){
S = 3.14*r*r;
console.log(S);
}
arr3(10);
29.求两个数中的最大值
function arr4(a,b){
if(a>b){
console.log(a);
}else{
console.log(b);
}
}
arr4(1,2);
30.求三个值中的最大值
function arr5(a,b,c){
if(a>b && a>c){
console.log(a);
}else if(b>a && b>c){
console.log(b);
}else{
console.log(c);
};
};
arr5(5,2,3);
31.判断一个随机输入数是不是素数
var num=prompt("请输入你想判断的数值");
var temp=true;
for(var i=2;i<num;i++){
if(num % i==0){
//判断为不是质数
//document.write(num+"不是质数");
temp=false;
};
};
if(temp){
document.write(num+"是质数");
}else{
document.write(num+"不是质数");
};
32.函数写阶乘
function arr2(n){
var sum=0;
for(var o=1;o<=n;o++){
var som=1;
for(var i=1;i<=o;i++){
som*=i;
};
sum+=som;
};
console.log(sum);
};
arr2(3);
33.求任意个数的最大值
function arr(a,b,c,d){
var temp = arguments[0];
for(var i=0;i<=arguments.length-1;i++){
if(temp<arguments[i]){
temp = arguments[i];
};
};
return temp;
};
console.log(arr(1,2,3,4,5)); //5
34.求任意个数的和
function arr1(a,b,c,d){
var sum = 0;
for(var i=0;i<=arguments.length-1;i++){
sum+=arguments[i];
};
return sum;
};
console.log(arr1(1,2,3,4,5)); //15
35.求斐波那契数列Fibonacci中的第n个数是多少? 1 1 2 3 5 8 13 21...
function arr2(a,b,c,d){
for(var i=1;i<=d;i++){
c = a+b;
a = b;
b = c;
console.log(a);
}
}
arr2(1,1,0,1000);
36.输入一个年份,判断是否是闰年[闰年:能被4整数并且不能被100整数,或者能被400整数]
function arr5(){
arr6 = prompt("请输入你要判断的年份");
if(arr6%4==0 && arr6%100!=0 || arr6%400==0){
console.log("该年份是润年哦~");
}else{
console.log("该年份是平年哦~");
};
};
arr5();
37.输入某年某月某日,判断这一天是这一年的第几天?(方法一)
function arr0(sum,svm,som){
arr7 = prompt("请输入年份");
arr8 = prompt("请输入月份");
sem = Number(prompt("请输入日子"));
for(var i=1;i<arr8;i++){
if(i!=2){
if(i==4||i==6||i==9||i==11){
sum += 30;
}else{
svm += 31;
}
}else{
if(arr7%4==0 && arr7%100!=0 || arr7%400==0){
//console.log("该年份是润年哦~");
som = 29;
}else{
//console.log("该年份是平年哦~");
som = 28;
};
};
};
var tianshu = sum+svm+som+sem;
console.log("这天是该年的第 "+tianshu+" 天哦~");
}
arr0(0,0,0);
38.输入某年某月某日,判断这一天是这一年的第几天?(方法二)
var a=prompt("请输入年份");
var b=prompt("请输入月份");
var c=Number(prompt("请输入第几日"));
var e=0;
if(a%400==0||a%100!=0&&a%4==0){
var arr=[31,29,31,30,31,30,31,31,30,31,30,31];//月份
// 0 1 2 3 4
for(var i=0;i<=b-2;i++){
e+=arr[i];
console.log(e+c);
};
}else{
var arr=[31,28,31,30,31,30,31,31,30,31,30,31];
for(var i=0;i<=b-2;i++){
e+=arr[i];
console.log(e+c);
};
};
39.自己实现输入一个数获取长度
function fn(){
var a = Number(prompt("请输入数值"));
//22
var b = 0.1;
for(var i=1;i<=a;i++){
b*=10; //1 //10
c = parseInt(a/b);
if(c>0&&c<10){
document.write("这个数是"+i+"位数");
break;
};
};
};
fn();
40.设计一个函数,输入行数和列数,生成相应表格
function fn(){
var a = prompt("请输入行");
var b = prompt("请输入列");
document.write("<table>");
for(var i=1;i<=a;i++){
document.write("<tr>");
for(var o=1;o<=b;o++){
document.write("<td>");
document.write("</td>");
};
document.write("</tr>");
};
document.write("</table>");
};
fn();
41.判断水仙花 例:153=1*1*1+5*5*5+3*3*3
for(var i=0;i<=9;i++){
for(var o=0;o<=9;o++){
for(var u=0;u<=9;u++){
if(i*i*i+o*o*o+u*u*u==i*100+o*10+u){
document.write(i*100+o*10+u);
document.write("<br>");
};
};
};
};
42.使用1块,2块,5块钱,凑出20块钱的所有可能;
for(var i=1;i<=20;i++){
for(var o=1;o<=20;o++){
for(var u=1;u<=20;u++){
if(i*1+o*2+u*5==20){
document.write("搭配方案有 : "+i+"个1元....."+o+"个2元....."+u+"个5元");
document.write("<br />");
};
};
};
};
43.请使用代码在页面上显示下面表格效果
document.write("<table cellspacing=0> ")
for(var i=1;i<=4;i++){
document.write("<tr>");
for(var o=1;o<=4;o++){
document.write("<td>");
document.write("</td>");
};
document.write("</tr>");
};
document.write("</table>");
44.请使用代码实现,去掉一个最高分,去掉一个最低分之后求平均分是多少?
var a = Number(prompt("请输入人数"));
var fn = [];
var sum = 0;
for(var i=1;i<=a;i++){
var b = Number(prompt("请依次输入分数"));
fn[fn.length] = b;
};
for(var o=1;o<=fn.length-2;o++){
sum+=fn[o];
};
var pj = sum/(fn.length-2);
document.write(pj);
45.设计一个函数,让用户输入一个数字,然后反转输出该数字 例:2891 -》 1982
function fn(){
var a = prompt("请输入数值");
var b = 0.1;
for(var i=1;i<a;i++){
b*=10;
var c = parseInt(a/b);
if(c>0&&c<10){
break;
};
};
var sum = "";
for(var o=1;o<=i;o++){
var s = a%10;
sum+=s;
a=(a-s)/10;
};
console.log(sum);
};
fn();
46.写一个能获取10-20之间的随机数
console.log("10-20之间的随机数:"+Math.floor((Math.random()*11+10)));
console.log("10-20之间的随机数:"+Math.ceil((Math.random()*11+9)));
47.随机生成rgb的颜色
console.log("R为:"+Math.floor(Math.random()*256));
console.log("G为:"+Math.floor(Math.random()*256));
console.log("B为:"+Math.floor(Math.random()*256));
48.将当前的时间格式化输出,封装成一个函数完成此操作 格式:2021年12月8日,17时21分15秒
function fn(){
var dt = new Date();
var a = dt.getFullYear();
var b = dt.getMonth();
var c = dt.getDate();
var d = dt.getHours();
var e = dt.getMinutes();
var f = dt.getSeconds();
return a+"年"+b+"月"+c+"日"+","+d+"时"+e+"分"+f+"秒";
};
console.log(fn());
49.随便输入两个时间戳/毫秒值判断相差 天 时 分 秒
function fn1(a,b){
var t,f,m,s;
var l = a - b;
l/=1000;
t = parseInt(l/60/60/24);
s = parseInt(l/60/60-24*t);
f = parseInt(l/60-24*t*60-s*60); //
m = parseInt(l-24*t*60*60-s*60*60-f*60);
return {
"天" : t,
"时" : s,
"分" : f,
"秒" : m
};
};
console.log(fn1(2000000000,19400));
50.截取字符串"我爱中华人民共和国",中的"中华"
// 1-方法
var sty1 = "abcoefoxyozzopp";
for(var e=0;e<sty1.length;e++){
if(sty1[e]=="o"){
console.log("o位置分别为"+e);
};
};
// 2-方法
var sty = "abcoefoxyozzopp";
temp = sty.indexOf("o");
console.log(sty.replace("temp"," "));
for(var o=1;o<sty.length;o++){
temp = sty.indexOf("o");
if(sty.indexOf("o")!=-1){
console.log("o出现的位置为"+temp);
sty = sty.replace(sty[temp]," ");
};
};
51."abcoefoxyozzopp"查找字符串中所有o出现的位置
// 1-方法
var sty1 = "abcoefoxyozzopp";
for(var e=0;e<sty1.length;e++){
if(sty1[e]=="o"){
console.log("o位置分别为"+e);
};
};
// 2-方法
var sty = "abcoefoxyozzopp";
temp = sty.indexOf("o");
console.log(sty.replace("temp"," "));
for(var o=1;o<sty.length;o++){
temp = sty.indexOf("o");
if(sty.indexOf("o")!=-1){
console.log("o出现的位置为"+temp);
sty = sty.replace(sty[temp]," ");
};
};
52.把字符串中所有的o替换成!
var sty2 = "abcoefoxyozzopp";
for(var e=0;e<sty1.length;e++){
if(sty2[e]=="o"){
sty2 = sty2.replace(sty2[e],"!");
};
};
console.log(sty2);
53.判断一个字符串中出现次数最多的字符,统计这个次数
var s = 'abcoefoxyozzopp';
var obj = {};
for(var i=0;i<s.length;i++){
var temp = s[i];
if(obj[temp]){
obj[temp]++;
}else{
obj[temp] = 1;
};
};
console.log(obj)
var max = 0;
var temp;
for(var u in obj){
if(obj[u] > max){
max = obj[u];
temp = u;
};
};
console.log("出现次数最多是"+temp+"出现次数为"+max);
54.将一个字符串数组输出为|分割的形式,比如“刘备|张飞|关羽”。使用两种方式实现
var arr = ["刘备","张飞","关羽" ];
console.log(arr.join("|"));
var sum="";
for(var i=0;i<arr.length-1;i++){
sum+=arr[i]+"|"; //刘备|张飞
};
console.log(sum+arr[arr.length-1]);
55.将字符串数组的元素的顺序进行反转。["a", "b", "c", "d"] -> [ "d","c","b","a"]
使用两种种方式实现。提示:第i个和第length-i-1个进行交换
var arr1 = [1,2,3,4,5,6,7,8];
console.log(arr1.reverse());
var arr2 = [1,2,3,4,5,6,7,8];
var temp;
//var a = 1
for(var i=0;i<arr2.length-4;i++){
temp = arr2[i]
arr2[i] = arr2[arr2.length-i-1]
arr2[arr2.length-i-1] = temp
//a++
}
console.log(arr2)
56.数组[1500, 1200, 2000, 2100, 1800],把超过2000的删除
// 方法-1
var arr3 = [1500, 1200, 2000, 2100, 1800];
var resalt = arr3.filter(function(a,b,c){
return a <= 2000;
})
console.log(resalt)
// 方法-2
var arr3 = [1500, 1200, 2000, 2100, 1800];
for(var i=0;i<arr3.length;i++){
if(arr3[i] > 2000){
arr3.splice(i,1)
}
}
console.log(arr3)
// 方法-3
var arr = [1500, 1200, 2000, 2100, 1800];
// var arr1=[];
var resule = arr.forEach(function(ele,index){
if(ele>2000){
arr.splice(index,1)
}
});
console.log(arr);
57.["c", "a", "z", "a", "x", "a"]找到数组中每一个a出现的位置
// 方法-1
var arr4 = ["c", "a", "z", "a", "x", "a"];
for(var i=0;i<arr4.length;i++){
if(arr4[i] == "a"){
console.log("a出现的位置有"+i)
}
}
// 方法-2
var arr4 = ["c", "a", "z", "a", "x", "a"];
for(var i=0;i<arr4.length;i++){
if(arr4.indexOf("a") != -1){
console.log("a出现的位置"+arr4.indexOf("a"))
arr4.splice(arr4.indexOf("a"),1," ")
};
};
58.编写一个方法去掉一个数组的重复元素
// 方法一
var arr5 = [1,5,6,5,9,7,7,7,7,7,7];
for(var u=0;u<arr5.length;u++){
for(var v=0;v<arr5.length;v++){
if(u!=v){
if(arr5[u] == arr5[v]){
arr5.splice(v,1," ");
};
};
};
};
console.log(arr5)
arr5 = arr5.filter(function(ele,index,array){
return ele != " ";
});
console.log(arr5);
// 方法二
var arr5 = ["a","b","a","c","g","e","e","e","e","e","e"];
var obj = {};
for(var v=0;v<arr5.length;v++){
var temp = arr5[v];
if(obj[temp]){
}else{
obj[temp] = 1;
};
};
arr5 = []
for(var ey in obj){
arr5[arr5.length] = ey;
};
console.log(arr5);
// 方法三
var array = [1,3,1,6,6,7,9,5,3,6,6];
var arr = [];
for(var o = 0;o<array.length;o++){
if(arr.indexOf(array[o])==-1){
// arr[arr.length] = array[o];
arr.push(array[o]);
};
};
console.log(arr);
59.判断输入的一个11位数的电话号码...要求是前3位是"010"
然后跟着一个"-"...后面剩余个数都是数字
var pro = prompt("请输入电话号码");
if(pro.substr(0,4) == "010-" && pro.substr(4).length == 8 && !isNaN(pro.substr(4))){
console.log("这是一个电话号码");
}else{
console.log("这不是一个电话号码");
};
以上就是前端经常会遇到的55道程序题,当你将其全部搞懂后,于你而言绝对是一个实质性的帮助,对于后期去写那些逻辑思维题时也能够头脑清晰的去解决。
希望能够有所帮助!