/******求100以内,所有的奇数和,求100以内,所有的偶数积*******/
// for循环方法
 
var sum=0;
var sum1=1;
for(var i=1;i<=100;i++){
if(i%2!=0){
sum=sum+i;
}else{
sum1=sum1*i;
}
}
document.write("100以内,所有的奇数和:"+sum+"<br>"+"<br>")
document.write("100以内,所有的偶数积:"+sum1+"<br>"+"<br>")
//递归方法 加法
/* 99+97+95+....+3+1
pius(99)=99+plus(97)
plus(97)=97+plus(95)
plus(95)=97+plus(93)
....
sum(1)=1 找到出口:为1
所以plus(1)
*/
function plus(q){
if(q==1){
return 1;
}
return q+plus(q-2);
}
var result=plus(99);
document.write("递归做出来的加法:"+result+"<br>"+"<br>");
//递归方法 乘法
function mu(num){
if(num==2){
return 2;
}
return num*mu(num-2);
}
var result2=mu(100);
document.write(result2+"<br>"+"<br>");
/********************斐波那契数列*************************/
// 斐波那契数列 : 1 1 2 3 5 8 13
/*
规律 第三项等于第二项加第一项的和,如此类推
第n项=第n-1项 + 第n-2项的和
fn(5)=fn(4)+fn(3)
fn(4)=fn(3)+fn(2)
fn(3)=fn(2)+fn(1)
递归的出口就是fn(2)和fn(1)
所以依据题目fn(1)=1,f(2)=1
*/
document.write("<p style='color:red;'>斐波那契数列</p>");
function shulie(n){
if(n==1||n==2){
return 1;
}
return shulie(n-1)+shulie(n-2)
}
var result1 = shulie(7);
document.write(result1+"<br>"+"<br>");
/********************九九乘法表*************************/
document.write("<p style='color:red;'>九九乘法表</p>");
var c;
for(var a=1;a<=9;a++){
for(var b=1;b<=a;b++){
document.write(b+"x"+a+"="+b*a+"&nbsp");
}
document.write("<br>"+"<br>");
}
/*************输出100之内所有含有7或者7的倍数的数字**************/
// 倍数:7 14 21.... 个位:17 27 37 .... 十位: 71 72 73 ...
document.write("<p style='color:red;'>输出100之内所有含有7或者7的倍数的数字</p>");
 
for(var x=0;x<=100;x++){
if(x%7==0 ||x%10==7||parseInt(x/10)==7){
document.write(x)
}
document.write(" ")
}
document.write("<br>"+"<br>");
//变成封装成函数
 
function chengfa(c){
for(var x=0;x<=100;x++){
if(x%c==0 ||x%10==c||parseInt(x/10)==c){
document.write(x)
}
document.write(" ")
}
}
chengfa(9);
 
document.write("<br>"+"<br>");
 
/*******************输出数组中为奇数的平均数*********************/
//要求奇数的平均数,首先要求奇数的个数 line 143
 
document.write("<p style='color:red;'>输出100之内所有含有7或者7的倍数的数字</p>");
var arr=[1,5,6,46,8,3,45,10]; //定义一个数组
var sum2 = 0; //求奇数和
var remb = 0; //求奇数的个数
for(var y=0;y<arr.length;y++){ //这个arr.lenght是获得这个数组中的长度
if(arr[y]%2==1){
remb++; //一旦走进if里面,就是奇数,然后++咯
sum2=sum2+arr[y]; //arr[y]是获得数组里面的第y个
}
}
document.write(sum2/remb+"<br>"+"<br>")
 
//封装成函数
var arr=[1,5,6,46,8,3,45,10,55];
function open(k){ // K是函数执行时的形参,函数执行的时候传过来的,arr数组传过来用变量K接收了
var sum2 = 0;
var remb = 0;
for(var y=0;y<k.length;y++){
if(k[y]%2==1){
remb++;
sum2=sum2+k[y];
}
}
return sum2/remb;
}
var result3 = open(arr);
document.write("函数封装的:"+result3)
/****************输出数组中最大值及其索引,最小值及其索引(就是第几个)******************/
document.write("<p style='color:red;'>输出数组中最大值及其索引,最小值及其索引</p>");
var arr1=[5,2,3,-7,10,34,25];
/* var max=0; 存放数组的最大值,这个存在缺点,如果是负数,则走不进if里面 */
var max=arr1[0]; //所以用arr的第0项开始比较
var maxindex = 0; //存放数组的最大值索引
var min=arr1[0];
var minindex =0;
for(var h=0;h<arr1.length;h++){
if(max<arr1[h]){ //用max与数组中的值比,max比数组中的小,则立马赋值
max=arr1[h];
maxindex = h; //第几个数
}
if(min>arr1[h]){
min = arr1[h];
minindex = h;
}
}
document.write(max+" , "+maxindex+" , "+min+" , "+minindex+"<br>"+"<br>");
//封装函数
var arr1=[5,2,3,-7,10,34,25];
function app(m){
var max=m[0]; //所以用arr的第0项开始比较
var maxindex = 0; //存放数组的最大值索引
var min=m[0];
var minindex =0;
for(var h=0;h<m.length;h++){
if(max<m[h]){ //用max与数组中的值比,max比数组中的小,则立马赋值
max=m[h];
maxindex = h; //第几个数
}
if(min>m[h]){
min = m[h];
minindex = h;
}
}
return [max,maxindex,min,minindex];
}
document.write(app(arr1));

for循环,递归,函数封装作业的更多相关文章

  1. PTA循环,函数,数组作业

    PTA循环实验作业 题目一:统计素数并求和 ### 1.PTA提交列表 2.设计思路(+流程图) 先定义变量(包含素数区间,循环次数,除数,素数个数记录和和的记录) 输入范围 一重循环:循环提取自然数 ...

  2. 慕课网JavaScript函数1-20 作业:函数的基础封装

    1-20 作业 小伙伴们,掌握了JavaScript的语法.流程控制语句以及函数,接下来让我们运用所学知识完成如gif图所示的效果——计算自己出生那天是该年当中的第几天. gif效果图如下: 任务描述 ...

  3. 前端总结·基础篇·JS(三)arguments、callee、call、apply、bind及函数封装和构造函数

    前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...

  4. Appium python自动化测试系列之滑动函数封装实战(八)

    8.1 什么是函数的封装 教科书上函数的封装太官方,我们这里暂且将函数的封装就是为了偷懒把一些有共性的功能或者一些经常用的功能以及模块放在一起,方便我们以后再其他地方调用.这个只是个人的理解所以大家懂 ...

  5. JS中深浅拷贝 函数封装代码

    一.了解 基本数据类型保存在栈内存中,按值访问,引用数据类型保存在堆内存中,按址访问. 二.浅拷贝 浅拷贝只是复制了指向某个对象的指针,而不是复制对象本身,新旧对象其实是同一内存地址的数据,修改其中一 ...

  6. 选择、循环与函数结构:MATLAB VS Python

    选择.循环与函数结构:MATLAB VS Python 整理基本的程序控制结构,主要是选择 和 循环. 1.MATLAB选择结构 (1)单分支if语句格式: if 条件 语句组 end (2)双分支i ...

  7. linux循环递归设置权限

    这里给出一个循环递归得到对文件夹和文件分别有效的设置方法: find /path -type f -exec chmod 644 {} \; #对目录和子目录里的文件 find /path -type ...

  8. c#读写共享内存操作函数封装

    原文 c#读写共享内存操作函数封装 c#共享内存操作相对c++共享内存操作来说原理是一样,但是c#会显得有点复杂. 现把昨天封装的读写共享内存封装的函数记录下来,一方面希望给需要这块的有点帮助,另一方 ...

  9. [妙味JS基础]第九课:定时器管理、函数封装

    知识点总结 函数封装 回调函数 实例:抖动函数 获取当前的位置 通过数组来实现,一正一负,直到恢复成0为止. 当前位置与数组中各值相加

随机推荐

  1. 基于springboot的RestTemplate、okhttp和HttpClient对比

    1.HttpClient:代码复杂,还得操心资源回收等.代码很复杂,冗余代码多,不建议直接使用. 2.RestTemplate: 是 Spring 提供的用于访问Rest服务的客户端, RestTem ...

  2. .gitignore文件配置:keil工程文件类型【转】

    本文转载自:https://blog.csdn.net/u010160335/article/details/80043965 .gitignore源文件下载链接:git管理keil工程.gitign ...

  3. awk添加文本到指定内容后一行

    一下操作会输入到文件末尾,,测试不全面,还不如使用echo解决呢... 1. 要添加的文本内容如下: 文件名:code_list html</>!@$%^^ fdsafds <> ...

  4. 图解HTTP接口自动化测试框架使用

    Robot Framework是一款python语言编写,通用的功能自动化测试框架.它使用了比较易用的表格数据语法,基于关键字驱动测试,主要用来验收测试和验收测试驱动开发(ATDD). 运行RIDE, ...

  5. android自定义控件(四) View中的方法

    onFinishInflate() 当View中所有的子控件 均被映射成xml后触发 onMeasure(int, int) 确定所有子元素的大小 onLayout(boolean, int, int ...

  6. vim 模式下的几个快捷用法

    1.ctrl + v  (-- VISUAL BLOCK --) 选中块模式,y 复制,d 剪切,p 粘贴,Esc退出模式 2.Shift + v  (-- VISUAL LINE -- ) 快速行选 ...

  7. nginx 反向代理配置

    转载一篇特别好的nginx配置博文:http://www.cnblogs.com/hunttown/p/5759959.html

  8. HTML5设计原理

    HTML5是Web标准的巨大飞跃,它为什么要包含那些东西,它背后的设计原则是什么? <JavaScript DOM编程艺术>和<HTML5 For Web Designer>作 ...

  9. poj1966Cable TV Network——无向图最小割(最大流)

    题目:http://poj.org/problem?id=1966 把一个点拆成入点和出点,之间连一条边权为1的边,跑最大流即最小割: 原始的边权赋成inf防割: 枚举源点和汇点,直接相邻的两个点不必 ...

  10. VijosP1180:选课

    描述 学校实行学分制.每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分.学校开设了N(N<300)门的选修课程,每个学生可选课程的数量M是给定的.学生选修了这M门课并考核通过就能获得 ...