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. ...
随机推荐
- LeetCode 671. Second Minimum Node In a Binary Tree二叉树中第二小的节点 (C++)
题目: Given a non-empty special binary tree consisting of nodes with the non-negative value, where eac ...
- ldap第二天-yum安装LDAP + phpLDAPadmin
1.安装LDAP服务器和客户端,migrationtools工具包 yum install -y openldap-servers openldap-clients migrationtools 2. ...
- POJ1022 Packing Unit 4D Cubes
题目来源:http://poj.org/problem?id=1022 题目大意: 有一些4维的单位体积的立方体盒子,每个立方体有8个面.要用一个大的4为盒子将它们包起来,求最小的大盒子体积. 输入: ...
- 2、kvm基础常用命令操作
KVM 虚拟机默认的配置文件在 /etc/libvirt/qemu 目录下,默认是以虚拟机名称命名的.xml文件,如下: root@xuedianhu:~# ls /etc/libvirt/qemu ...
- windows下显示隐藏的文件
文件--文件夹选项---查看---高级设置----隐藏文件和文件夹----显示隐藏的文件.文件夹和驱动器
- UVA - 12333 Revenge of Fibonacci 高精度加法 + 字典树
题目:给定一个长度为40的数字,问其是否在前100000项fibonacci数的前缀 因为是前缀,容易想到字典树,同时因为数字的长度只有40,所以我们只要把fib数的前40位加入字典树即可.这里主要讨 ...
- Python 的execfile用法
可以直接执行脚本 而import是将脚本导入另一个文件里,可以看 http://docs.python.org/2/library/functions.html 例如一个Python文件 a.py: ...
- [Windows] 一些简单的CMD命令
开始菜单中的“运行”是通向程序的快捷途径,输入特定的命令后,即可快速的打开Windows搜索的大部分程序,熟练的运用它,将给我们的操作带来诸多便捷. winver 检查Windows版本 wmimgm ...
- 汇编语言版本的HelloWorld
平台 macOS 工具 nasm clang 文件 main.asm extern _printf ; 这里调用系统的一个系统调用函数, _printf, 使用extern告诉链接器该label在其他 ...
- android 开发AlertDialog.builder对话框的实现
AndroidAPI提供了Dialog对话框控件,但google明确指出不建议开发者只是使用Dialog来创建对话框,而应该自定义对话框或者使用API中提供的Dialog的子类,如AlertDialo ...