for循环要点

1.确认外层控制内容

2.确认内层控制内容

3.将打印内容与行号产生关系式

4.有的语句可以用if语句,根据字符的个数来增减char,优化代码

//部分类型只能输出奇数行,可在下半部分开始前,对行数做一个判断,根据讲述奇偶性调整自变量的取值;如下语句中的k
int k = i;
if (0 == line % 2) {
k = i - 1;
} for (int j = 1; j <= k; j++) {
//偶数行的一半就是行数/2,奇数行的中间一行可以放在上半部分,先定义下半部分行数为  int = line / 2 ;再用总行数减去下半部分得到上半部分数值
int cn = 2 * i - 1;//cn == charNumber
int bacCharNum = cn / 2;
int froCharNum = cn - bacCharNum;

难度系数:重辣

/*

难度系数:重辣
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
ABCDEFEDCBA
*/ class Demo8 {
public static void main(String[] args) { char ch = 'A';
int line = 10; for (int i = 1; i <= line;i++) { ch = 'A'; //输出空格
for (int j = 1; j <= line - i; j++) {
System.out.print(" ");
} int cn = 2 * i - 1;
int bacCharNum = cn / 2;
int froCharNum = cn - bacCharNum; //输出每行的前半部分
for (int j = 1;j <= froCharNum ;j++) {
System.out.print(ch);
ch++;
} //输出每行的后半部分
ch -= 2;
for (int j = 1;j <= bacCharNum ;j++) {
System.out.print(ch);
ch--;
}
System.out.println();
}
}
}
/*
输出结果: A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
ABCDEFEDCBA
ABCDEFGFEDCBA
ABCDEFGHGFEDCBA
ABCDEFGHIHGFEDCBA
ABCDEFGHIJIHGFEDCBA
*/
//难度系数:重辣
//优化方案:将每行打印中的字母用if语句改写
/*
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
ABCDEFEDCBA
*/ class Demo88 {
public static void main(String[] args) { char ch = 'A';
int line = 10; for (int i = 1; i <= line;i++) { ch = 'A';
ch --;
//输出空格
for (int j = 1; j <= line - i; j++) {
System.out.print(" ");
} int cn = 2 * i - 1;
int bacCharNum = cn / 2;
int froCharNum = cn - bacCharNum; for (int j = 1;j <= cn ;j++) {
if (j < froCharNum) {
ch++;
} else if (j == froCharNum) {
ch++;
} else {
ch--;
}
System.out.print(ch);
}
System.out.println();
}
}
}

难度系数:魔鬼辣

/*
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
ABCDEFEDCBA
ABCDEDCBA
ABCDCBA
ABCBA
ABA
A
*/
class Demo9 {
public static void main(String[] args) { char ch = 'A';
int line = 11;//仅限奇数 int downPart = line / 2;
int upPart = line - downPart; for (int i = 1; i <= upPart;i++) {
ch = 'A';
for (int j = 1; j <= upPart - i; j++) {
System.out.print(" ");
} int cn = 2 * i - 1;
int bacCharNum = cn / 2;
int froCharNum = cn - bacCharNum; for (int j = 1;j <= froCharNum ;j++) {
System.out.print(ch);
ch++;
}
ch -= 2;
for (int j = 1;j <= bacCharNum ;j++) {
System.out.print(ch);
ch--;
}
System.out.println();
} for (int i = 1;i <= downPart; i++) {
ch = 'A'; int cn = 2 * downPart + 1 - 2 * i;
int bacCharNum = cn / 2;
int froCharNum = cn - bacCharNum; for (int j = 1; j <= i; j++) {
System.out.print(" ");
} for (int j = 1;j <= froCharNum; j++) { System.out.print(ch);
ch ++;
}
ch -= 2;
for (int j = 1;j <= bacCharNum; j++) {
System.out.print(ch);
ch --;
}
System.out.println(); }
}
}
/*
//难度系数:魔鬼辣
//优化方案:调整为偶数也可以 A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
ABCDEFEDCBA
ABCDEFEDCBA
ABCDEDCBA
ABCDCBA
ABCBA
ABA
A
*/ class Demo99 {
public static void main(String[] args) { char ch = 'A';
int line = 12; int downPart = line / 2;
int upPart = line - downPart; for (int i = 1; i <= upPart;i++) {
ch = 'A';
for (int j = 1; j <= upPart - i; j++) {
System.out.print(" ");
} int cn = 2 * i - 1;
int bacCharNum = cn / 2;
int froCharNum = cn - bacCharNum; for (int j = 1;j <= froCharNum ;j++) {
System.out.print(ch);
ch++;
}
ch -= 2;
for (int j = 1;j <= bacCharNum ;j++) {
System.out.print(ch);
ch--;
}
System.out.println();
} for (int i = 1;i <= downPart; i++) {
ch = 'A'; int cn = 2 * downPart + 1 - 2 * i;
int bacCharNum = cn / 2;
int froCharNum = cn - bacCharNum; int k = i;
if (0 == line % 2) {
k = i - 1;
} for (int j = 1; j <= k; j++) {
System.out.print(" ");
} for (int j = 1;j <= froCharNum; j++) { System.out.print(ch);
ch ++;
}
ch -= 2;
for (int j = 1;j <= bacCharNum; j++) {
System.out.print(ch);
ch --;
} System.out.println();
}
}
}

0421for循环各类题目的更多相关文章

  1. js初学者循环经典题目

    1.根据一个数字日期,判断这个日期是这一年的第几天例如: 2016和02和11,计算后结果为42 var y = 2016;//+prompt("请输入年份") ;         ...

  2. C语言的选择和循环上机题目(部分)

    /*(1)某市不同车牌的出租车3公里的起步价和计费分别为:夏利7元/公里,3公里以外2.1元/公里:富康8元/公里,3公里以外2.4元/公里:桑塔纳9元,3公里以外2.7元/公里.编程:从键盘输入乘车 ...

  3. 美丽的for循环语句

    美丽的for循环语句 题目:用for循环语句实现四个三角形不同的形状.   图案:    ---------------第一个三角形图形形状----------------**********第二个三 ...

  4. JS中的循环嵌套 BOM函数

    [嵌套循环特点]                           外层循环转一次,内层循环转一圈              外层循环控制行数,内层循环控制每行元素个数             [做 ...

  5. 循环语句(for,while,do……while),方法概述

    循环结构 分类:for,while,do……while (1)for语句 格式: for(初始化表达式:条件表达式:循环后的操作表达式){ 循环体: } 执行流程: a.执行初始化语句 b.执行判断条 ...

  6. [LeetCode] Insert into a Cyclic Sorted List 在循环有序的链表中插入结点

    Given a node from a cyclic linked list which is sorted in ascending order, write a function to inser ...

  7. c语言:第二次作业,循环结构

    1.本章学习总结(2分) 1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 循环相比分支和顺序结构难了许多,相对的来说我的c语言的基础比之前有提高,但是还是很多题想了很久也 ...

  8. 洛谷 P3965 [TJOI2013]循环格 解题报告

    P3965 [TJOI2013]循环格 题目背景 一个循环格就是一个矩阵,其中所有元素为箭头,指向相邻四个格子. 每个元素有一个坐标(行,列),其中左上角元素坐标为\((0,0)\).给定一个起始位\ ...

  9. 51nod 1035 最长的循环节 数学

    1035 最长的循环节 题目连接: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1035 Description 正整 ...

随机推荐

  1. Ubuntu上安装配置Java环境

    参考文献:在Ubuntu 14.04中安装JDK 方法一: @ 安装 1. 添加PPA repository系统 PPA repository介绍 $sudo add-apt-repository p ...

  2. 数学--数论--HDU 5223 - GCD

    Describtion In mathematics, the greatest common divisor (gcd) of two or more integers, when at least ...

  3. 【Java8新特性】你知道Java8为什么要引入Lambda表达式吗?

    写在前面 这是一道真实的面试题,一个读者朋友出去面试,面试官竟然问他这样一个问题:你说说Java8中为什么引入Lambda表达式?引入Lambda表达式后有哪些好处呢?还好这个朋友对Java8早有准备 ...

  4. C# 基础知识系列- 15 异常处理篇

    0. 前言 为什么我们需要异常处理?什么是异常? 在汉语中,异常指非正常的:不同于平常的.翻译到程序中,就是指会导致程序无法按照既定逻辑运行的意外,或者说是错误.可能会有小伙伴好奇了,我们的程序不是正 ...

  5. 使用 Minikube 安装 Kubernetes

    概述: 单机低配置主机也可以玩转kubernetes集群.该文章是将介绍使用Minikube安装Kubernetes集群(一般用于本地/开发环境). 配置环境: 硬件:CPU 至少2个核心,至少2.5 ...

  6. 201771030120-王嫄 实验一 软件工程准备 <课程学习目的思考>

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 这个作业要求链接 https://www.cnblogs.com/nwnu- ...

  7. Spring cloud系列教程第二篇:支付项目父工程图文搭建

    Spring cloud系列教程第二篇:支付项目父工程图文搭建 在讲解spring cloud相关的技术的时候,咱们就模拟订单支付这个流程来讲讲 在这个支付模块微服务搭建过程中,上面的这些技术,都会融 ...

  8. leetcode_雇佣 K 名工人的最低成本(优先级队列,堆排序)

    题干: 有 N 名工人. 第 i 名工人的工作质量为 quality[i] ,其最低期望工资为 wage[i] . 现在我们想雇佣 K 名工人组成一个工资组.在雇佣 一组 K 名工人时,我们必须按照下 ...

  9. python学习(11)文件的读写操作

    1.读文件的7种操作模式 操作模式 具体含义 'r' 读取 (默认) 'w' 写入(会先截断之前的内容) 'x' 写入,如果文件已经存在会产生异常 'a' 追加,将内容写入到已有文件的末尾 'b' 二 ...

  10. [hdu4710 Balls Rearrangement]分段统计

    题意:求∑|i%a-i%b|,0≤i<n 思路:复杂度分析比较重要,不细想还真不知道这样一段段跳还真的挺快的=.= 令p=lcm(a,b),那么p就是|i%a-i%b|的循环节.考虑计算n的答案 ...