经典的例子汇总
1.乘法口诀表
<script>
for(var i=1;i<=9;i++){
for(var j=1;j<=i;j++){
document.write(i+"*"+j+"="+i*j);
}
document.write("<br/>");
}
</script>
表格版的乘法口诀表:
<script>
document.write("<table border='1' cellpadding='0' cellspacing='0'>");
for(var i=1;i<=9;i++){
document.write("<tr>");
for(var j=1;j<=i;j++){
document.write("<td>");
document.write(i+"*"+j+"="+i*j);
document.write("<td>");
}
document.write("</tr>");
}
document.write("</table");
</script>
2.五角星
<script>
for(var i=0;i<5;i++){
for(var j=0;j<5;j++){
document.write("☆");
}
document.write("<br/>");
}
</script>
3,三角形排列的五角星
<script>
//控制行数的
for (var i = 0; i < 5; i++) {
//控制每一行有几个星星
for (var j = 0; j <= i; j++) {
document.write("☆");
}
document.write("<br/>");
}
</script>
4.本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金,计算5年后,获得的本金是多少?
<script>
var money = 10000;//本金
var rate = 0.003;//利率
for(var i=0;i<6;i++){
money=money+money*rate;
money+=money*rate;
}
console.log(money);
</script>
结果:10365.999802881313
5.有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。已知一对兔子每个月都可以生一对小兔子,而一对小兔子从出生后第3个月起每月生一对小兔子,假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)能繁殖多少对?(兔子的规律为数列,1,1,2,3,5,8,13,21)
<script>
//分析的过程,伪代码
var num1 = 1;//第一个月
var num2 = 1;//第二个月
var sum = num1 + num2;//第三个月
var num1 = num2;//第二个月
var num2 = sum;//第三个月
var sum = num1 + num2;//第四个月
var num1 = num2;//第三个月
var num2 = sum;//第四个月
var sum = num1 + num2;
//正式代码
var num1 = 1;
var num2 = 1;
var sum = 0;
//i=3是从第三个月开始
for (var i = 3; i <= 12; i++) {
sum = num1 + num2;
num1 = num2;
num2 = sum;
}
console.log(sum);
//结果:144 斐波那契数列12个月的值
</script>
6,找到100-200之间第一个可以被7整除的数字,输出
<script>
for(var i=100;i<=200;i++){
if(i%7==0){
console.log(i);
break;
}
}
//105
</script>
7.求100-200之间所有奇数的和(写2种,一种用continue)
<script>
var sum=0;
var i=100;
while(i<=200){
//判断是不是偶数
if(i%2==0){
//如果是偶数,跳过这个数字
i++;//101
continue;
}
sum+=i;
i++;
}
console.log(sum);
</script>
<script>
var sum=0;
var i=100;
while(i<=200){
//判断是不是奇数
if(i%2!=0){
sum+=i;
}
i++;
}
</script>
8.求100-200之间所有除了个位数为3的数的和。
<script>
var sum=0;
var i=100;
while(i<=200){
if(i%10==3){
//个位数是3,不要
i++;
continue;
}
sum+=i;
i++;
}
console.log(sum);
</script>
9.关于数组的各种操作例子。
<script>
//求数组中所有元素的和
var arr1 = [10, 20, 30, 40, 50];
var sum = 0;
for (var i = 0; i < arr1.length; i++) {
sum += arr1[i];
}
console.log(sum);
//求数组中所有元素的平均值
var arr2 = [10, 20, 30, 40, 50];
var sum2 = 0;
for (var i = 0; i < arr2.length; i++) {
sum2 += arr2[i];
}
console.log(sum2 / arr2.length);
//求数组中所有元素的最大值
var arr3 = [1, 3, 5, 2, 6, 7, 45645, 3];
//假设max变量中存储的是最大值
var max = arr3[0];//var max=Number.MIN_VALUE;假设变量是最大的,但是实际上存储的是最小的值
for (var i = 0; i < arr3.length; i++) {
//判断这个变量的值和数组中每个元素的值是否是最大值
if (max < arr3[i]) {
max = arr3[i];
}
}
console.log("最大值:" + max);
//求数组中的最小值
var arr4 = [100, 10, 20, 30, 40];
var min = arr4[0];
for (var i = 0; i < arr4.length; i++) {
if (min > arr4[i]) {
min = arr4[i];
}
}
console.log("最小值:" + min);
//倒序遍历数组
var arr5=[10,20,30,40,50];
//1,正序遍历如下
for(var i=0;i<arr5.length;i++){
console.log(arr5[i]);
}
//2,倒序遍历如下
for(var i=arr5.length-1;i>=0;i--){
console.log(arr5[i]);
}
//把数组中每个元素用|拼接到一起产生一个字符串并输出
//方法一:除去最后一个,其他每个的后面都加一个“|”
var names=["张三","李四","网二","玛丽","汤姆","吉姆","鸣人"];
var str="";//
for(var i=0;i<names.length-1;i++){
str+=names[i]+"|";
}
console.log(str+names[names.length-1]);
//方法二:除去第一个,其他每个的前面都加一个“|”
var names=["张三","李四","网二","玛丽","汤姆","吉姆","鸣人"];
var str="";//
for(var i=1;i<names.length;i++){
str+="|"+names[i];
}
console.log(names[0]+str);
/去掉数组中重复的0,把其他的数据放在一个新的数组中
var arr = [10, 20, 30, 0, 23, 0, 10, 0];
var newArr = [];//新数组,用来存放第一个数组中所有非0的数字
for (var i = 0; i < arr.length; i++) {
if (arr[i] != 0) {
newArr[newArr.length] = arr[i];//本来新数组是空的,长度为0,放进去一个元素之后,长度变为1,但该元素在新数组中下标为0,数组的长度是可以改变的
}
}
console.log(newArr);
//反转数组--把数组中的数据的位置调换
var array = [10, 20, 30, 40, 50];
//循环的目的是控制交换的次数
for (var i = 0; i < array.length / 2; i++) {
//先把第一个元素的值放在第三方变量中
var temp = array[i];
array[i] = array[array.length - 1 - i];
array[array.length - 1 - i] = temp;
}
console.log(array);
//提示用户输入班级人数,求总成绩,平均值,最高分,最低分
//提示用户输入人数,并转成数字类型
var perCount = parseInt(prompt("请输入班级人数"));
//定义数组存储班级的每个人的成绩
var perScores = [];
//循环的方式录入每个人的成绩
for (var i = 0; i < perCount; i++) {
//把每个人的成绩存储到数组中
perScores[perScores.length] = parseInt(prompt("请输入第" + (i + 1) + "个人的成绩"));
}
;
console.log(perScores)
//求总成绩
var sum = 0;
var avg = 0;//平均值
var max = perScores[0];//最大值
var min = perScores[0];//最小值
for (var i = 0; i < perScores.length; i++) {
sum += perScores[i];//求和
//求最大值
if (max < perScores[i]) {
max = perScores[i];
}
//求最小值
if (min > perScores[i]) {
min = perScores[i];
}
}
//平均值
avg = sum / perScores.length;
console.log("和为:" + sum);
console.log("平均值为:" + avg);
console.log("最大值:" + max);
console.log("最小值:" + min);
</script>
10.冒泡排序
<script>
//冒泡排序
var arr = [10, 50, 30, 3, 100, 34];
//循环控制比较次数
for (var i = 0; i < arr.length - 1; i++) {
//控制每一轮的比较的次数
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;
}
}
}
console.log(arr);
</script>