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 自动生成的方法存 ...
随机推荐
- JavaScript创建块级作用域
1.JavaScript创建块级作用域 (1)方法一:ES6 (2)方法二:闭包 2.示例 <!DOCTYPE html> <html lang="zh"> ...
- Elasticsearch 2014年10月简报
1. Elasticsearch Updates 1.1 公布了Kibana 4 Beta 1 和Beta 1.1 Kibana 4不管是在界面的布局,使用配置方法,还是底层绘制图表的方式都与Kiba ...
- 【Java】Java_18 方法
方法(Method) 设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合. 我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展 方法的要点 ...
- iOS项目开发之Socket编程
有一段时间没有认真总结和写博客了 前段时间找工作.进入工作阶段.比较少静下来认真总结,现在静下心来总结一下最近的一些心得 前言 AsyncSocket介绍 AsyncSocket详解 AsyncSoc ...
- 【LeetCode-面试算法经典-Java实现】【030-Substring with Concatenation of All Words(串联全部单词的子串)】
[030-Substring with Concatenation of All Words(串联全部单词的子串)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 Yo ...
- tcpdump command
工作中一直在用tcpdump,感觉非常方便,今天心血来潮百度了一下tcpdump的用法,才发现原来还有这么多强大的功能自己都不知道,那叫一个汗啊. 以此文作为备份,记录一些新知道的用法,各位网友谁有新 ...
- $.ajax 温故而知新坑
$.ajax的配置项中使用 contentType: "application/json" 时,Data选项允许为String类型,如JSON.stringify({abc:123 ...
- mysql数据库去除重复数据
(一)最原始的方法: delete from test where id not in (select * from ((select min(id) from test group by(name) ...
- 并发检测主机ip存活脚本
#!/bin/bash ################### # Check Active Host####### ################### function CheckInput() ...
- 【BZOJ】2186 沙拉公主的困惑
一道很有价值的题. [解析1]欧几里德算法求乘法逆元,前缀和 [Analysis]O(T n log n). [Sum] ①int运算.假设会超出界,第一个数前要加上(LL)即类型转换. ②gcd不变 ...