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. ...
随机推荐
- input[checkbox],input[radiobox]的一些问题
复选框和文字对不齐:checkbox复选框的一些深入研究与理解: 解决方案:复选框或单选框与文字对齐的问题的深入研究与一 实例:实例.
- 如何在html文件中导入header、footer等
1.include是php函数,所以确实需要转化成.php文件--(其实除了用php,html都有自带的引入方法)2.html转化为php文件很简单,直接改一下后缀名就可以了--(如:index.ht ...
- 74th LeetCode Weekly Contest Valid Tic-Tac-Toe State
A Tic-Tac-Toe board is given as a string array board. Return True if and only if it is possible to r ...
- Silverlight 创建 ImageButton
这几天一直在折腾怎么在silverlight 按钮上添加图片,直接向imagebutton那样设置成属性可以直接更改,最后到处查找资料终于搞出一个imagebutton了. <Style x:K ...
- Java实现快排+小坑+partition的两种思路
在做一道剑指Offer的题的时候,有道题涉及到快排的思路,一开始就很快根据以前的思路写出了代码,但似乎有些细节不太对劲,自己拿数据试了下果然.然后折腾了下并记录下一些小坑,还有总结下划分方法parti ...
- 记录一个直接操作mediawiki数据库遇到的坑
我的mediawiki使用的是postgresql数据库,当你进入到mediawiki数据库时,运行sql select * from pg_tables; 你会发现mediawiki的数据表的sch ...
- SGU - 409
题目链接:https://vjudge.net/contest/239445#problem/H 题目大意:输入n,k,有n*n* n*n的网格,要求每行每列刚好有k个*,每n*n的小方格内也刚好有k ...
- 【转】grunt动态生成文件名
动态生成文件名 expand 设置为true打开以下选项 cwd 所有src指定的文件相对于这个属性指定的路径 src 要匹配的路径,相对与cwd dest 生成的目标路径前缀 ext 替换所有生成的 ...
- Java文件与io——复制文件和转换流
字节流与字符流的区别 在所有的流操作里,字节永远是最基础的.任何基于字节的操作都是正确的.无论是文本文件还是二进制的文件. 如果确认流里面只有可打印的字符,包括英文的和各种国家的文字,也包括中文,那么 ...
- WebSocket协议入门介绍
目录 目录 WebSocket协议是什么 WebSocket是应用层协议 WebSocket与Http的区别 为什么要使用WebSocket 如何使用WebSocket 客户端API 在客户端使用We ...