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. ...
随机推荐
- springIOC源码解析之Bean的创建
上一篇讲到了beanFactory的配置文件的解析和beanFactory的创建,都集中到了obtainFreshBeanFactory();这一句代码里了,本篇主要讲bean的创建过程 public ...
- jenkins+maven+Tomcat+shell构建自动化部署
https://yq.aliyun.com/articles/685931 1.官网下载war包:jenkins本质上就是一个web应用,直接下载jenkins的war包通过tomcat运行即可.ht ...
- 理解js继承的6种方式
想要继承,就必须要提供个父类(继承谁,提供继承的属性) 一.原型链继承 重点:让新实例的原型等于父类的实例. 特点:1.实例可继承的属性有:实例的构造函数的属性,父类构造函数属性,父类原型的属性.(新 ...
- Chinese Zodiac (水题)
The Chinese Zodiac, known as Sheng Xiao, is based on a twelve-year cycle, each year in the cycle rel ...
- Jmeter4.0---- HTTP请求默认值(15)
1.说明 在线程组中,添加”HTTP请求默认值”,并填写 协议,服务器名称/IP ,端口号,编码等 ,之后该线程组中的所有请求,可以不用填写这几项,启动后会直接调用”HTTP请求默认值”中的数据,方便 ...
- LeetCode 583 Delete Operation for Two Strings 删除两个字符串的不同部分使两个字符串相同,求删除的步数
Given two words word1 and word2, find the minimum number of steps required to make word1 and word2 t ...
- D. Vitya and Strange Lesson
http://codeforces.com/contest/842/problem/D 1.整体的数组是不用变的,比如数组a[]经过一次询问x后,然后再询问y,相当于询问x ^ y ^ a[i]后的m ...
- Spring Cloud Ribbon负载均衡
目录 一.简介 二.客户端负载均衡 三.RestTemplate详解 GET请求 POST请求 PUT请求 DELETE请求 一.简介 Spring Cloud Ribbon是一个基于HTTP 和 ...
- SpringBoot | 第四章:日志配置(转)
前言 介于平时工作中,对于日志这块没有过多的接触,也就未有过多的了解.故在编写本文时,上官网查看了相关资料,奈何每个字母我都认识,但合起来就有点晕了,英文阅读水平还是有待大大的提高呀.最后觉得还是转载 ...
- jQuery学习笔记(四)
动画效果 显示和隐藏效果 无动画效果 显示:show() 隐藏:hide() <!DOCTYPE html> <html lang="en"> <he ...