for循环和数组练习
//公鸡2文,母鸡1文,小鸡半文,每种至少一只,100文买100只鸡有多少种可能 var ci =0;
for(var g=1;g<50;g++){
for(var m=1;m<100;m++){
for(var x=1;x<100;x++){
if(g*2+m*1+x*(0.5)==100&&g+m+x==100){
ci+=1;
console.log("买公鸡"+g+"只,母鸡"+m+"只,小鸡"+x+"只"); }
}
}
}
console.log("有"+ci+"种可能");
结果为:

//羽毛球拍15元,球3元,水2元,200元每种至少一个,有多少种可能
js代码为:
var ci=0;
for(var a=1;a<15;a++){
for(var b=1;b<67;b++){
for(var c=1;c<100;c++){
if(a*15+b*3+c*2==100){
ci+=1;
console.log("买羽毛球拍"+a+"副,球"+b+"个,水"+c+"瓶");
}
}
}
}
console.log("有"+ci+"种可能");
结果:

有一张0.0001米的纸,对折多少次可以达到珠穆朗玛峰的高度8848
var gao = 0.0001;
var c = 0;//对折次数
for(var i = 0;i >= 0;i++){
gao = gao*2;//对折后纸张厚度
c++;
console.log(gao);
if(gao >= 8848){
break;
}
}
console.log(c); //对折次数
结果:

例子:一个球从100米的高度自由下落,每次落地后反跳回原高度的一半,再落下,求它在第10次落地时,共经过多少米,第10次反弹多高?
js代码:
//方法一
var h=100;
var s=0;
var s1=0;//上升总路程
var s2=0;//下降总路程
for(var i=1;i<10;++i){ h=h/2;//每次反弹路程
console.log(h);
s1=s1+h;
s2=s2+h;
s=s1+s2+100;//一共经过路程
console.log(s); }
console.log("第十次落地时,共经过"+s+"米");
console.log("第十次反弹时高度为:"+h/2+"米");
结果:

//方法二
var h=100;
var sum=0;
for(var i=1;i<=10;++i){
sum += h;//上来的总高度
h = h/2;//每次反弹多高
// 第十次不需要反弹
if(i!=10){
sum += h;//下来时的高度
}
}
console.log(sum);
console.log(h);//第十次反弹高度
结果:


js代码:
var lirun=prompt("请输入利润(单位万元)");
var jiangjin =0;
if(lirun<=10){
jiangjin=lirun*0.1;
}else if(lirun>10&&lirun<20){
jiangjin=10*0.1+(lirun-10)*0.075;
}else if(lirun>=20&&lirun<40){
jiangjin=10*0.1+10*0.075+(lirun-20)*0.05;
}else if(lirun>=40&&lirun<60){
jiangjin=10*0.1+10*0.075+20*0.05+(lirun-40)*0.03;
}else if(lirun>=60&&lirun<100){
jiangjin=10*0.1+10*0.075+20*0.05+20*0.03+(lirun-60)*0.015;
}else{
jiangjin=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(lirun-100)*0.01;
}
console.log("应该发总奖金:"+jiangjin*10000+"元");
结果例:


例子: 九九乘法口诀表
js代码:
var jieguo=0;//积
//九九表的行
for(var i=1;i<=9;i++){ //九九表的列
for(var j=1;j<=i;j++){
jieguo = i*j;//积
document.write("\t"+i+"*"+j+"="+jieguo);//公式 }
document.write("<br>");
}
结果:
例子: 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
js代码:
var str =prompt('输入一串数组');
var arr =str.split(',');
//先把最大与最小值定义为第一个元素
var max =arr[0];
var min =arr[0];
//初始化
var sum =0;
var sum1 =0;
for(var i=0;i<arr.length;++i){
//选出最大的数组元素
if(max <= +arr[i]){
max=arr[i];
sum =i;//找到最大数组元素下标并存储
}
//选出最小的数组元素
if(min >= +arr[i]){
min=arr[i];
sum1 =i;
}
}
arr[sum]=arr[0];//数组第一个元素与最大的元素交换
arr[0]=max;//最大数存储在第一个元素位置
arr[sum1]=arr[arr.length-1];//数组最后一个元素与最小的元素交换
arr[arr.length-1]=min;//最小的数给数组最后一个元素
alert(arr);
结果:

例子:
输入学生个数,每个学生的学号,姓名,三门课成绩,计算出平均成绩
js代码:
var num =prompt("输入学生的数量");
var stu = [];
//记录学生信息
for(var i=0;i<num;i++){
stu[i]=[];
stu[i][0]=prompt( "请输入学生的姓名");
stu[i][1]=prompt( "请输入学生的编号");
stu[i][2]=prompt( "请输入学生的英语成绩");
stu[i][3]=prompt( "请输入学生的数学成绩");
stu[i][4]=prompt( "请输入学生的语文成绩");
}
var avg =0;
for(var i=0;i<num;++i){
//计算成绩的和
var sum=0;
for(var j=2;j<stu[i].length;j++){
sum +=parseInt((stu[i][j]));//总成绩
}
avg=sum/(stu[i].length-2);//求平均成绩
stu[i].push(avg);//存储记录平均成绩
alert(stu[i][0]+"的平均成绩:"+avg);//输出每个人的平均成绩
注意:
1.变量的作用域就是在大括号之内
2.写代码方向,易维护,易扩展,易复用
3.在写每个语句时,多写注释
for循环和数组练习的更多相关文章
- *使用while循环遍历数组创建索引和自增索引值
package com.chongrui.test;/* *使用while循环遍历数组 * * * */public class test { public static void main ...
- 关于for循环删除数组内容出现的问题
昨天用for循环进行数组去重的时候出现的问题, 首先,用双重for循环把前一个和所有后面的元素进行比较,如果相等则删除. 但是,如果数组里面有三个以上连续相等的元素的时候,就会出现问题. var ar ...
- JavaScript 中 for in 循环和数组的问题
本文由 伯乐在线 - ElvisKang 翻译,进林 校稿.未经许可,禁止转载!英文出处:adripofjavascript.com.欢迎加入翻译小组. JavaScript的for…in循环用于迭代 ...
- JavaScript基础精华03(String对象,Array对象,循环遍历数组,JS中的Dictionary,Array的简化声明)
String对象(*) length属性:获取字符串的字符个数.(无论中文字符还是英文字符都算1个字符.) charAt(index)方法:获取指定索引位置的字符.(索引从0开始) indexOf(‘ ...
- swift基本用法-for循环遍历,遍历字典,循环生成数组
// Playground - noun: a place where people can play import UIKit //--------------------------------- ...
- SAS 循环与数组
SAS 循环与数组 SAS提供了循环语句以满足在编程中需要多次执行相同操作的情 况.有时还需要对不同的变量执行相同的操作,此时可定义SAS数组,并通过数组名和下标来引用这些变量. 1 循环 SAS循环 ...
- PHP(方法 函数 循环 和 数组 查找)
循环 和 数组 查找 顺序查找 二分法查找 冒泡排序 方法 函数 定义:一堆代码的集合叫做函数(满足条件下“一堆”) 语法,定义,调用,参数列表(形参,实参),返回值 两种方法: function 方 ...
- js循环遍历数组
一维数组的遍历 <script> //循环遍历数组 var animals = ["cat",'dog','human','whale','seal']; var an ...
- for循环遍历数组(数组1)
package com.mon10.day24; import java.util.Scanner; /** * 类说明 :计算学生的总成绩和平均分 * @author 作者 : chenyanlon ...
- LeetCode 81 Search in Rotated Sorted Array II(循环有序数组中的查找问题)
题目链接:https://leetcode.com/problems/search-in-rotated-sorted-array-ii/#/description 姊妹篇:http://www. ...
随机推荐
- 帝都Day6——图论
//P2O5呢? 一.图的存储: 邻接矩阵:邻接表. 邻接矩阵:n*n的[][],[i][j]节点有边记1没边0 缺点 空间复杂度O(n^2) 占用内存较大(我为什么要把这些东西写到这里呢???) 邻 ...
- Angular学习笔记【ngx-bootstrap】中的 tabset
<tabset class="tab-container tabbable-line"> <tab heading="{{l("MobileS ...
- CF213E Two Permutations 线段树维护哈希值
当初竟然看成子串了$qwq$,不过老师的$ppt$也错了$qwq$ 由于子序列一定是的排列,所以考虑插入$1$到$m$到$n-m+1$到$n$; 如何判断呢?可以用哈希$qwq$: 我们用线段树维护哈 ...
- 华东交通大学2017年ACM“双基”程序设计竞赛 1003
Problem Description 有两个球在长度为L的直线跑道上运动,两端为墙.0时刻小球a以1m/s的速度从起点向终点运动,t时刻小球b以相同的速度从终点向起点运动.问T时刻两球的距离.这里小 ...
- linux 编程笔记 2
1.使用create建立文件: #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include ...
- asp.net MVC 中枚举创建下拉列表?
我将尝试使用 Html.DropDownList 扩展方法,但不能找出如何使用它的枚举. 让我们说我有一个这样的枚举: public enum ItemTypes { Movie = 1, Game ...
- ElasticSearch之QueryBuilders
1.termsQuery A filer for a field based on several terms matching on any of them 翻译过来:基于以下几个方面对其中任何匹配 ...
- javascript获取滚动条位置(兼容所有浏览器)
有两种方式来获取浏览器滚动条的位置 第一种:document.documentElement.scrollTop 第二种:$("body").scrollTop() 第一种方式能够 ...
- 《C#高效编程》读书笔记11-理解短小方法的优势
我们最好尽可能的编写最清晰的代码,将优化交给JIT编译器完成.一个常见的错误优化是,将大量逻辑放在一个函数中,以期减少额外的方法调用开销.这种将函数逻辑直接写在循环内部的常见优化做法却会降低.NET应 ...
- AngularJS(十):依赖注入
本文也同步发表在我的公众号“我的天空” 依赖注入 依赖注入不是AngularJS独有的概念,而是现代软件开发与架构的范畴,但是在AngularJS中“依赖注入”是其核心思想之一,所以我们专门来学习一下 ...