20150805 Day07 数组,二重循环

数组:

1.打擂比较算法

if(num>max){

max=num; //没有break!

}

2.数组排序

sun公司并没有提供一个方法专门用于降序排列,但是我们可以转换一下思路,先对数组中元素进行升序排列,然后降序输出数组中元素。

3.在我们自己的类中,可以对多个系统类进行导入使用。例如可同时使用Arrays和Scanner

二重循环:

1.直角三角形

*

**

***

****

*****

*号(j)          行号(i)

1                 1

2                 2

3                 3

for(i=1;i<=3;i++){

for(j=1;j<=i;j++){

System.out.print("*");

}

System.out.println("");

}

2.13579的直角三角形

*

***

*****

*******

*********

i(行号)             j(*号个数)

1                     1

2                     3

3                     5

4                     7

5                     9

j=2*i-1

3.倒直角三角形

*****

****

***

**

*

i(行号)             j(*号个数)

1                     5

2                     4

3                     3

4                     2

5                     1

i+j=6,  j=6-i

4.等腰三角形

*

***

*****

*******

*********

for(int i=1;i<=5;i++){

//第一个循环控制空格

for(int j=1;j<=5-i;j++){

System.out.print(" ");

}

//第二个循环控制*号

for(int k=1;i<=2*i-1;k++){

System.out.print("*");

}

System.out.println("");

}

解决问题的核心就是求i和j的关系

行数(i)               空格数(j)                   星号(k)

1                      4 1

2 3 3

3 2 5

4 1 7

5 0 9

i和j,i和k的关系

j=5-i

k=2*i-1

5.菱形打印

*

***

*****

*******

*****

***

*

解决问题的核心就是求i和j的关系

行数(i)               空格数(j)                   星号(k)

1 3 1

2 2 3

3 1 5

4 0 7

5 1 5

6 2 3

7 3 1

分两次打印,分别是正三角,倒三角

*****

***

*

***

*****

这个图形也分两次打印。

*

**

*

**

*

时间: 2024-10-05 14:09:27

20150805 Day07 数组,二重循环的相关文章

第九章 二重循环

一.回顾3种循环结构 1.while l  语法 条件表达式的初始值: while(条件表达式){ 循环操作: 更改条件表达式的语句: } l  特点:先判断,再执行,有可能一次循环都没有 l  适用的场合:循环次数未知 l  表现形式 n  第一种:循环的次数确定 u  条件表达式,判断整型的变量在某个范围 u  while(i<=5){ //不需要接收用户输入} n  第二种:循环次数不限,用户输入某个值结束循环 u  条件表达式,根据用户输入的值进行判断 u  while(用户输入的值和某

验证元素的唯一性(二重循环法和快排优化)

学校练习,简单的我就不放上来了,值得整理的,我保存一下 习题4 1.1.验证元素唯一性(二重循环)   1.1.1.算法描述 验证元素唯一性,主要方法是:建立两重循环,进行校验每个元素和其他元素的 1.1.2.伪代码   UniqueElements(A[0..m-1]) //验证给定数组中的元素是否唯一 //输入:数组A[0..n-1] //输出:如果A中元素全部唯一,返回true //否则返回false for i<- 0 to n-2 do for j<- i+1 to n-1 do i

1008. 数组元素循环右移问题 (20)

1008. 数组元素循环右移问题 (20) 一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0 A1--AN-1)变换为(AN-M -- AN-1 A0 A1--AN-M-1)(最后M个数循环移至最前面的M个位置).如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法? 输入格式:每个输入包含一个测试用例,第1行输入N ( 1<=N<=100).M(M>=0):第2行输入N个整数,之间用空格

数组元素循环右移及静态链表

1. 静态链表 https://github.com/BodhiXing/Data_Structure/tree/master/StaticListDemo 2. 数组元素循环右移 https://pta.patest.cn/pta/test/17/exam/4/question/262 思路:不做循环,只是换方式打印输出. 1 #include <stdio.h> 2 #include <math.h> 3 4 5 int main() { 6 int n,m,i; 7 scan

将数组元素循环右移k个位置(Java实现)

用四种方法实现了将数组元素循环右移k个位置,相关的解释作为注释放在代码里面了. package movearrayelement; import java.util.BitSet; public class MoveArrayElement { /** * 每次把数组中所有元素移动一个位置,移动k轮 * @param array * @param k */ public static void moveArrayElement(int[] array, int k) { int length =

二重循环解题思路

本文通过一道习题,讲解做二重循环习题的思路: 题目:使用二重循环打印如下图形: 分析:首先要明确我们需要打印的种类有:字符串"*",字符串"  "(空格).比如第一行,先打印了4个空格"  ",然后打印了一个"*" . 我们分析一下每行的具体打印情况: 第0行:先打印4个空格,然后打印1个"*" 第1行:先打印3个空格,然后打印3个"*" 第2行:先打印2个空格,然后打印5个"

数组的循环与迭代......字符串

数组的循环与迭代 1.循环 for循环 for in循环 for of循环 2.数组迭代 forEach()----遍历数组 map()----遍历并操作数组元素,返回新数 组. filter()----遍历并筛选数组元素,返回新数 组. reduce()----遍历并计算数组元素,累计返回最 终值. every()----遍历并检测数组元素,有一项不满 足,返回 false. some()----遍历并检测数组元素,有一项满 足,返回 true. 字符串 常用属性 字符串的长度---字符串和数

*1008. 数组元素循环右移问题

1 /* 2 * Main.c 3 * 1008. 数组元素循环右移问题 Ver.2 4 * Created on: 2014年8月29日 5 * Author: Boomkeeper 6 ********测试通过******* 7 */ 8 #include <stdio.h> 9 10 int main(void) { 11 12 int array[101]; 13 int n, m; //题目中的N.M 14 int i,j; 15 16 scanf("%i %i"

JavaScript数组的循环和迭代

JavaScript数组的循环和迭代 循环 for循环 普通版for循环 var arr = ["a","b","c","d"]; for (let i = 0; i < arr.length; i++){ console.log(arr[i]); .//a b c d } 优化版for循环 var arr = ["a","b","c","d"