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 自动生成的方法存 ...
随机推荐
- Nginx:访问第三方服务
参考资料<深入理解Nginx> Nginx可以当做一个强大的反向代理服务器,其反向代理模块是基于upstream方式实现的. upstream的使用方式 HTTP模块在处理任何一个请求时都 ...
- 把质量控制工作往前推进(1)——安装sonarqube
曾经关注点一直在怎么提高应用程序的质量,没太在意代码级别的质量.近期由于某些因素的推动,须要关注到代码级别的质量去,把质量工作尽量往前推,也符合质量控制的原则. 试用了一下sonarqube(老版本 ...
- Cent OS安装My Sql
因为公司的需要,所以就自己学习了一下在Linux上安装MySQL,但是翻查了好多博客,没有特别清楚,自己写下来好好总结一下 一.系统环境 CentOS-6.3-i386-bin-DVD1 二.下载My ...
- Repeater绑定List泛型对象
后台: public void BindData() { List<WeiBo> DataList = new List<WeiBo>(); ...
- stage3D基础三------什么是AGAL(转)
原文链接 http://www.adobe.com/cn/devnet/flashplayer/articles/hello-triangle.html 在本文中,你将研究一个能够正常运行的基于Sta ...
- Active Directory的基本概念
前言 本文是面对准备加入Active Directory编程的初学者的一份文章,主要是讲解Active Directory(活动目录)的一些概念和相关知识.这篇文章本来是不想写下来的,因为概念性内容的 ...
- Vue+原生App混合开发手记#1
项目的大致需求就是做一个App,里面集成各种功能供用户使用,其中涉及到很多Vue的使用方法,单独总结太麻烦,所以通过这几篇笔记来梳理一下.原型图如下: 路由配置 主界面会用到一些原生App方法,比如验 ...
- JDK自带的定时任务
import java.util.TimerTask; /** * 实现定时任务 * */ public class MyTimerTask extends TimerTask { @Override ...
- Redis源码阅读-Adlist双向链表
Redis源码阅读-链表部分- 链表数据结构在Adlist.h Adlist.c Redis的链表是双向链表,内部定义了一个迭代器. 双向链表的函数主要是链表创建.删除.节点插入.头插入.尾插入. ...
- 为div添加滚动效果:
为div添加滚动效果: .xxxx{ width: 100%; height: 100%; overflow: hidden; overflow-y: auto;} 代码片段 <div clas ...