3.09课·········for循环
for循环:反复执行某段代码。
for循环四要素:初始条件,循环条件,循环体,状态改变。
for(初始条件;循环条件;状态改变)
{
循环体
}
若初始条件满足循环条件,则进入循环体,执行完循环体,跳回到状态改变,再判断是否满足循环条件,若满足,再进入循环体,直到不满足循环条件,则停止for循环。
break ——中断循环,跳出循环
continue——停止本次循环,
for (int a = /*初始条件*/; a <= /*循环条件*/; a++/*状态改变*/)
{
if (a == )
{
continue;//结束本次循环,继续下次循环
}
Console.WriteLine("你好!"); if (a == )
{
break;//跳出for循环
}
}
Console.ReadLine();//打印了9个“你好”
1.输入一个整数,计算从1加到这个数的结果
Console.Write("请输入一个正整数:");
int a = int.Parse(Console.ReadLine());
int sum = ;//0加任何数都不会变化
for (int i = ; i <= a; i++)
{
sum += i;//sum=sum+1
}
Console.WriteLine(sum);
Console.ReadLine();
2.输入一个正整数n,求1-n的阶乘
Console.Write("请输入一个正整数:");
int a = int.Parse(Console.ReadLine());
int b = ;//1乘以任何数都不变
for (int i = ; i <= a; i++)
{
b *= i;//b=b*i
}
Console.WriteLine(b);
Console.ReadLine();
3.输入一个整数,求1!+2!+···+n!
Console.Write("请输入一个整数:");
int n = int.Parse(Console.ReadLine());
int sum = ;
int sum1 = ;
for (int a = ; a <= n; a++)
{
sum1 *= a;//1~n的阶乘
sum += sum1;//1~n的阶乘之和
}
Console.Write(sum);
Console.ReadLine();
用for嵌套也可以:
Console.Write("请输入一个整数:");
int n = int.Parse(Console.ReadLine());
int sum = ;
for (int i = ; i <= n; i++)
{
int sum1 = ;
for (int j = ; j <= i; j++)
{
sum1 *= j;
}
sum += sum1;
}
Console.WriteLine(sum);
Console.ReadLine();
4.:找出100以内与7有关的数并打印
(1).从1找到100
(2).找出与7有关的数
个位数是7 a%10==7
十位数是7 a/10 ==7
能被7整除 a%7 ==0
int s = ;//标记变量
for (int a = ; a <= ; a++)
{
if (a % == /*7的倍数*/|| a / == /*十位数是7*/ || a % == /*个位数是7*/)
{
s++;//满足条件就算一个
Console.WriteLine(a);
}
}
Console.WriteLine("总共" + s);//s为满足条件的个数
Console.ReadLine();

5.//一个游戏,前20关是每一关自身的分数,
//21-30关每一关是10分
//31-40关,每一关是20分
//41-49关,每一关是30分
//50关,是100分
//输入你现在闯到的关卡数,求你现在拥有的分数
两种做法:if嵌套for for嵌套if
第一种方法:if嵌套for
Console.Write("请输入关卡数:");
int s = int.Parse(Console.ReadLine());
int sum = ;
if (s >= && s <= )
{
if (s <= )//小于20关
{
for (int i = ; i <= s; i++)
{
sum += i;
}
}
else if (s <= )//21~30关
{
for (int i = ; i <= ; i++)//前20关的总分
{
sum += i;
}
for (int i = ; i <= s; i++)
{
sum += ;//sum = sum + 10,每一关加10分
}
}
else if (s <= )//31~40关
{
for (int i = ; i <= ; i++)
{
sum += i;
}
for (int i = ; i <= ; i++)
{
sum += ;
}//前30关总分
for (int i = ; i <= s; i++)
{
sum += ;//每一关加20分
}
}
else if (s <= )//41~49关
{
for (int i = ; i <= ; i++)
{
sum += i;
}
for (int i = ; i <= ; i++)
{
sum += ;
}
for (int i = ; i <= ; i++)
{
sum += ;
}
for (int i = ; i <= s; i++)
{
sum += ;//每一关加30分
}
}
else//s=50
{
for (int i = ; i <= ; i++)
{
sum += i;
}
for (int i = ; i <= ; i++)
{
sum += ;
}
for (int i = ; i <= ; i++)
{
sum += ;
}
for (int i = ; i <= ; i++)
{
sum += ;
}
sum += ;
}
}
else
{
Console.WriteLine("输入有误!");
}
Console.WriteLine("您的总分是:" + sum);
Console.ReadLine();
第二种方法:for嵌套if//更简便
Console.Write("请输入关卡数:");
int s = int.Parse(Console.ReadLine());
int sum = ;
if (s >= && s <= )
{
for (int i = ; i <= s; i++)
{
if (i >= && i <= )//1~20关
{
sum += i;
}
else if (i >= && i <= )//21~30关
{
sum += ;
}
else if (i >= && i <= )//31~40关
{
sum += ;
}
else if (i >= && i <= )//41~49关
{
sum += ;
}
else//50关
{
sum += ;
}
}
}
else
{
Console.WriteLine("您的输入有误!");
}
Console.WriteLine("您的总分是:" + sum);
Console.ReadLine();
3.有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,问几年后有多少对兔子,幼兔、小兔、成兔对数分别是多少。成兔每月生下一对幼兔。
|
成兔对数 |
0 |
0 |
1 |
1 |
2 |
3 |
5 |
|
小兔对数 |
0 |
1 |
0 |
1 |
1 |
2 |
3 |
|
幼兔对数 |
1 |
0 |
1 |
1 |
2 |
3 |
5 |
|
月份 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
总对数 |
1 |
1 |
2 |
3 |
5 |
8 |
13 |
根据上表可以得到结论:
本月的成兔=上月的小兔+上月的成兔。
本月的小兔=上月的小兔。
本月的幼兔=本月的成兔。
Console.Write("请输入月份:");
int yue = int.Parse(Console.ReadLine());
int ct = , xt = , yt = , zt = ;
for (int i = ; i <= yue; i++)
{
if (i == )//一月份的时候直接赋值所有兔子的个数
{
ct = ;
xt = ;
yt = ;
zt = ;
}
else
{
ct = xt + ct;//每月成兔等于上月小兔加上月成兔
xt = yt;//每月小兔等于上月幼兔
yt = ct;//每月幼兔等于上月成兔
}
zt = ct + xt + yt;//总兔对数
}
Console.WriteLine(yue + "个月后成兔对数为:" + ct);
Console.WriteLine(yue + "个月后小兔对数为:" + xt);
Console.WriteLine(yue + "个月后幼兔对数为:" + yt);
Console.WriteLine(yue + "个月后总兔对数为:" + zt);
Console.ReadLine();
3.09课·········for循环的更多相关文章
- 【C语言探索之旅】 第一部分第七课:循环语句
内容简介 1.课程大纲 2.第一部分第七课: 循环语句 3.第一部分第八课预告: 第一个C语言小游戏 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编 ...
- 047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用
047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用 本文知识点:嵌套while循环应用 什么是循环嵌套? 什么是循环嵌套? ...
- 第09课 OpenGL 移动图像
3D空间中移动图像: 你想知道如何在3D空间中移动物体,你想知道如何在屏幕上绘制一个图像,而让图像的背景色变为透明,你希望有一个简单的动画.这一课将教会你所有的一切.前面的课程涵盖了基础的OpenGL ...
- JavaScript第三课 (循环)
循环语句 !如果至少需要执行一次循环体,就用do … while语句,一般情况下用while语句就可以了. while 语法:一直读取循环到条件为假时停止循环. while(条件) { 语 ...
- 3.09课·········for穷举和迭代
for循环拥有两类:穷举和迭代穷举:把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况. 1.单位给发了一张150元购物卡,拿着到超市买三类洗化用品.洗发水15元,香皂2元,牙刷5元.求刚好 ...
- 2019.12.09 java for循环
for(初始化表达式; 循环条件; 操作表达式){ 执行语句 ……… } 先走初始化表达式,再走循环条件,如条件满足,走执行语句,然后走操作表达式,再走循环条件,如条件满足,走执行语句 ...
- python学习第二课——while循环
#while循环基础语句 while 1==1: print('OK') #死循环 #如何阻止死循环 count=0 while count<10: print('第'+(str)(count) ...
- 第09课:GDB 实用调试技巧(下)
本节课的核心内容: 多线程下禁止线程切换 条件断点 使用 GDB 调试多进程程序 多线程下禁止线程切换 假设现在有 5 个线程,除了主线程,工作线程都是下面这样的一个函数: void thread_p ...
- Android 学习第6课,循环功能
package ch02; public class jiujiuchengfa { public static void main(String[] args) { // TODO 自动生成的方法存 ...
随机推荐
- Session和Cookie之间存在的区别与联系
一. 概念理解 你可能有留意到当你浏览网页时,会有一些推送消息,大多数是你最近留意过的同类东西,比如你想买桌子,上淘宝搜了一下,结果连着几天会有各种各样的桌子的链接.这是因为 你浏览某个网页的时候,W ...
- php匿名函数和闭包函数及use关键字传参及Closure匿名函数类
php闭包函数用use传参有什么意义?答:use引用外层变量,比如全局变量 Closure,匿名函数,是php5.3的时候引入的,又称为Anonymous functions.字面意思也就是没有定义名 ...
- 安装MacOS到虚拟机
[TOC] 系统版本历史 4. 升级系统到10.12.6版本 时间:2017年9月21日 15:58:55 大小:VMDK(7.63 GB) 变动: 升级系统到10.12.6版本 3. 降低内存到6G ...
- OpenGL/GLSL数据传递小记(2.x)(转)
本篇记录一下关于OpenGL程序中绑定各种GLSL变量的一些注意问题(有些是近期编写代码感受强烈的).以供参考.——ZwqXin.com 本文来源于 ZwqXin (http://www.zwqxin ...
- Python之比较运算符
python中的比较运算符有8个. 运算 | 含义=============< | 小于<= | 小于等于> | 大于>= |大于等于== | 等于!= |不等于is | 是i ...
- Unity3d 实现鼠标左键点击地形使角色移动到指定地点[脚本]
Unity3d 实现鼠标左键点击地形使角色移动到指定地点[脚本] 2013-02-19 15:29:33 我来说两句 作者:nnsword 收藏 我要投稿 其中涉及,移动速度, ...
- 机器学习6—SVM学习笔记
机器学习牛人博客 机器学习实战之SVM 三种SVM的对偶问题 拉格朗日乘子法和KKT条件 支持向量机通俗导论(理解SVM的三层境界) 解密SVM系列(一):关于拉格朗日乘子法和KKT条件 解密SVM系 ...
- linux内核中mtd架构分析
一. 引言 MTD(memory technology device内存技术设备)是用于访问memory设备(RAM.ROM.flash)的Linux的子系统.MTD的主要目的是为了使新的memory ...
- ubuntu 下使用polipo转换HTTP代理
***默认是用Socks5协议的,对于Terminal的get,wget等走http协议的地方是无能为力的,所以需要转换成http代理,加强通用性,这里使用的转换方法是基于Polipo的. sudo ...
- Sublime Text3 运行python(转)
From:http://blog.csdn.net/hun__ter/article/details/51223031 安装sublime text3后,按Ctrl+b无法运行python文件. 解决 ...