C#语句2——循环语句(for循环与for循环嵌套)
循环:反复执行某段代码。
循环四要素:初始条件,循环条件,循环体,状态改变。
for(初始条件;循环条件;状态改变)
{
循环体
}
break ——中断循环,跳出整个循环
continue——停止本次循环,进入下次循环。
注:●执行步骤:初始条件——循环条件——循环体——状态改变。
●死循环:出不来,一直在执行
for (; ; )
{
Console.WriteLine("你好");
}
一、for循环例题
1、找出100以内与7有关的数并打印:(1).从1找到100(2).找出与7有关的数
●个位数是7 a%10==7
●十位数是7 a/10 ==7
●能被7整除 a%7 ==0
for (int i = 1; i <= 100; i++)
{
if (i % 10 == 7 || i / 10 == 7 || i % 7 == 0)
{
Console.Write(i+"\t");
}
}
Console.ReadLine();
2、输入一个正整数,求1~这个数的阶乘
Console.Write("请输入一个正整数:");
int a = int.Parse(Console.ReadLine());
int b=1;
for (int n = 1; n <= a; ++n)
{
b = b * n;
}
Console.WriteLine("这个数字的乘积是:"+b);
Console.ReadLine();
3、一个游戏,前20关是每一关自身的分数,,21-30关每一关是10分,31-40关,每一关是20分,41-49关,每一关是30分,50关,是100分,输入你现在闯到的关卡数,求你现在拥有的分数。两种做法:if嵌套for for嵌套if
法一:
Console.Write("请输入您现在闯到的关卡数:");
int a = int.Parse(Console.ReadLine());
int sum = 0;
if (a >= 1 && a <= 50)
{
if (a <= 20)
{
for (int i = 1; i <= a; i++)
{
sum += i;
}
}
else if (a <= 30)//a>20&&a<=30
{
for (int i = 1; i <= 20; i++)
{
sum += i;
}
for (int i = 21; i <= a; i++)
{
sum += 10;
}
}
else if (a <= 40)//a>30&&a<=40
{
for (int i = 1; i <= 20; i++)
{
sum += i;
}
for (int i = 21; i <=30; i++)
{
sum += 10;
}
for (int i = 31; i <= a; i++)
{
sum += 20;
}
}
else if (a <= 49)
{
for (int i = 1; i <= 20; i++)
{
sum += i;
}
for (int i = 21; i <= 30; i++)
{
sum += 10;
}
for (int i = 31; i <= 40; i++)
{
sum += 20;
}
for (int i = 41; i <= a; i++)
{
sum += 30;
}
}
else//a==50
{
for (int i = 1; i <= 20; i++)
{
sum += i;
}
for (int i = 21; i <= 30; i++)
{
sum += 10;
}
for (int i = 31; i <= 40; i++)
{
sum += 20;
}
for (int i = 41; i <= 49; i++)
{
sum += 30;
}
sum += 100;
}
}
else
{
Console.WriteLine("输入有误!");
}
Console.WriteLine("您的分数为:"+sum);
Console.ReadLine();
法二:
Console.Write("请输入您现在闯到的关卡数:");
int a = int.Parse(Console.ReadLine());
int sum = 0;
if (a >= 1 && a <= 50)
{
for (int i = 1; i <= a; i++)
{
if (i <= 20)
{
sum += i;
}
else if (i <= 30)//i>20&&i<=30
{
sum += 10;
}
else if (i <= 40)
{
sum += 20;
}
else if (i <= 49)
{
sum += 30;
}
else
{
sum += 100;
}
}
}
else
{
Console.WriteLine("输入有误!");
}
Console.WriteLine("您的分数是:"+sum);
Console.ReadLine();
4、篮球弹起问题,篮球初始所在高度是20米。每次弹起是上一次的五分之四,输入次数,求篮球弹起高度。
Console.Write("请输入次数:");
int a = int.Parse(Console.ReadLine());
double h = 20;
for (int i = 1; i <= a; i++)
{
h = h * 4 / 5;
}
Console.WriteLine("经过{0}次弹起,篮球高度是:{1}",a,h);
Console.ReadLine();
5、折纸:有一张超大的纸,可以无限次折叠,厚度为0.07毫米。问,折叠多少次可以超过珠峰的高度(8848米)。
int ci = 0;//标记变量,标记总共运行几次
double h = 0.07;//8848m=8848000
for (; ; )
{
ci++;
h *= 2;//h=h*2;
if (h > 8848000)
{
break;
}
}
Console.WriteLine("经过{0}次折叠,可以超过珠峰的高度。高度为:{1}米",ci,h/1000);
Console.ReadLine();
二、for循环的嵌套例题
1、输入一个整数,求1!+2!+...+n!
法一、
Console.Write("请输入一个正整数:");
int a = int.Parse(Console.ReadLine());
int sum = 0;
int jie = 1;
for (int i = 1; i <= a; i++)
{
jie *= i;
sum += jie;
}
Console.WriteLine("结果是:" + sum);
Console.ReadLine();
法二、嵌套
Console.Write("请输入一个正整数:");
int a = int.Parse(Console.ReadLine());
int sum = 0;
for (int i = 1; i <= a; i++)
{
int jie = 1;
for (int j = 1; j <= i; j++)
{
jie *= j;
}
sum += jie;
}
Console.WriteLine("结果是:" + sum);
Console.ReadLine();
2、九九乘法表
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write("{0}*{1}={2} \t", j, i, i * j);
}
Console.WriteLine();
}
Console.ReadLine();
3、打印四个方向的三角形
●直角在左下方
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write("★");
}
Console.WriteLine();
}
Console.ReadLine();
●直角在左上方
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= 6 - i; j++)
{
Console.Write("★");
}
Console.WriteLine();
}
Console.ReadLine();
●直角在右下方
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= 5 - i; j++)
{
Console.Write(" ");
}
for (int j = 1; j <= i; j++)
{
Console.Write("★");
}
Console.WriteLine();
}
Console.ReadLine();
●直角在右上方
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= i - 1; j++)
{
Console.Write(" ");
}
for (int j = 1; j <= 6 - i; j++)
{
Console.Write("★");
}
Console.WriteLine();
}
Console.ReadLine();
3、打印菱形
Console.Write("请输入一个数:");
int a = int.Parse(Console.ReadLine());
for (int i = 1; i <= a; i++)
{
for (int j = 1; j <= a - i; j++)
{
Console.Write(" ");
}
for (int j = 1; j <=2*i-1; j++)
{
Console.Write("★");
}
Console.WriteLine();
}
for (int i = 1; i < a; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write(" ");
}
for (int j = 1; j <= 2 *(a-i) - 1; j++)
{
Console.Write("★");
}
Console.WriteLine();
}
Console.ReadLine();
4、输入任意数,打印出对应三角形
Console.Write("请输入一个数:");
int a = int.Parse(Console.ReadLine());
for (int i = 1; i <= a; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write("★");
}
Console.WriteLine();
}
Console.ReadLine();
C#语句2——循环语句(for循环与for循环嵌套)的更多相关文章
- while + else 使用,while死循环与while的嵌套,for循环基本使用,range关键字,for的循环补充(break、continue、else) ,for循环的嵌套,基本数据类型及内置方法
今日内容 内容概要 while + else 使用 while死循环与while的嵌套 for循环基本使用 range关键字 for的循环补充(break.continue.else) for循环的嵌 ...
- Python语法基础03(if语句,while循环与for循环)
if语句:语法:单分支if 判断条件:语句块 执行过程:首先执行判断条件,当条件成立则执行判断条件下面的语句块,若条件不成立,则不执行 双分支if 判断条件:语句块1else:语句块2执行过程: 首先 ...
- for循环与for循环嵌套
今天温习了下分支语句跟for循环,主要讲解了for循环嵌套,这里开始有点迷糊了,整理下思路在做练习 for循环嵌套用我自己的大白话来说就是一个外圈的for程序里面一个套着一个小的for程序,如果在范围 ...
- python while循环与for循环
今天刚看了一下python的while和for循环,所以打算记录一下: while语句是python中的循环条件语句,while 判断条件 : pass break 例如: i = 1 sum = 1 ...
- for循环与while循环
1.两中循环的语法结构 for循环结构: for(表达式1;表达式2;表达式3) { 执行语句; } while循环结构: while(表达式1) { 执行语句; } 2.两者区别: 应用场景:由于f ...
- 13 shell while循环与until循环
while 循环是 Shell 脚本中最简单的一种循环,当条件满足时,while 重复地执行一组语句,当条件不满足时,就退出 while 循环. unti 循环和 while 循环恰好相反,当判断条件 ...
- 房上的猫:while循环与do-while循环,debug的调试运用
一.循环结构 1.循环不是无休止进行的,满足一定条件的时候循环才会继续,称为"循环条件",循环条件不满足的时候,循环退出 2.循环结构是反复进行相同的或类似的一系列操作,称为&qu ...
- 浅谈C#中的for循环与foreach循环
for循环和foreach循环其实可以算得上是从属关系的,即foreach循环是可以转化成for循环,但是for循环不一定能转换成foreach循环. 下面简单介绍一下两种循环: 1.for循环 代码 ...
- 3.2.1 for循环与while循环的基本语法
不停地重复一件事情,时间久了会非常无聊,然后大脑就会由于疲劳而容易入睡. 重复性的劳动会使人疲劳,而计算机不会,只要代码写得正确,计算机就会孜孜不倦地重复工作.在Python中主要有两种形式的循环结构 ...
随机推荐
- JQuery插件定义
一:导言 有些WEB开发者,会引用一个JQuery类库,然后在网页上写一写$("#"),$("."),写了几年就对别人说非常熟悉JQuery.我曾经也是这样的人 ...
- 迟来的Json反序列化
源码发布 搞了一个下午,终于搞定了这个号称中国的github...以后源码直接在这里发布了(github实在用不来,英文实在太烂了) https://code.csdn.net/jy02305022/ ...
- .NET 基础 一步步 一幕幕[运算符、占位符、转义符]
运算符.占位符.转义符 好吧,在五局全胜之后,终于升到了三个钻,距离一个星星还有一大段距离,忽然想起来今天的博客还没写,果断坑队友,来写博客了....感觉以后还是每天更新一篇比较好.要不晚上就该熬 ...
- tomcat RMI 停不掉
项目采用jfinal框架,做了一个RMI的服务,对其它程序提供服务.实现上,写了一个RmiPlugin package com.wisdombud.cloudtalk.plugin; import j ...
- div里嵌套了img 底部会出现白边
因为img默认是按基线(baseline)对齐的.对比一下图片和右边的p, q, y等字母,你会发现这三个字母的“小尾巴”和图片下方的空白一样高.下面这张图中的黑线就是那条基线. 要去掉空格可以使用v ...
- Spring学习记录(十二)---AOP理解和基于注解配置
Spring核心之二:AOP(Aspect Oriented Programming) --- 面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是软 ...
- 前端学HTTP之连接管理
前面的话 HTTP连接是HTTP报文传输的关键通道.要掌握HTTP就需要理解HTTP连接的来龙去脉以及如何使用这些连接 如果想查看一个网页,浏览器收到URL时,会执行下图所示的步骤.将服务器的IP地址 ...
- ASP.NET MVC RouteExistingFiles
遇到这样一个问题:项目是 MVC,但也包含 WebForm 的页面,RouteConfig 中设置了这样一个路由: routes.MapRoute( name: "SubjectIndex& ...
- Linux基礎知識 —— open&close
下面說一下在用戶空間調用open/close/dup跟驅動中的open和release的對應. 下面是測試驅動: #include <linux/module.h> #include &l ...
- 读书笔记--SQL必知必会06--用通配符进行过滤
6.1 LIKE操作符 通配符(wildcard),用来匹配某些值的的特殊字符. 在搜索子句中必须通过LIKE操作符使用通配符. 通配符搜索只能用于文本字段(字符串),非文本数据类型字段不能使用通配符 ...