首页 > 代码库 > for 循环
for 循环
For循环
语句:顺序,分支,循环
循环:反复执行某一段代码
循环四要素:初始条件,循环条件,循环体,状态改变
格式:
for (int i = 1/*初始条件*/; i <= 100/* 循环条件*/; i++ /*状态改变*/)
{
//循环体,执行代码;(break;跳出循环体)
}
从给出的初始条件判断是否满足循环条件,若满足进入循环体,执行代码,跳出花括号,状态改变——变量改变,判断是否还满足循环条件,若满足继续执行循环体,直至不满足循环条件为之,或者碰到break;命令,直接跳出当前的for循环。若一开始不满足则不进入循环体。
例 : 输入一个整数,计算从1加到这个数的结果
Console.Write("请输入一个正整数:");
int a = int.Parse(Console.ReadLine());
int sum = 0;
for (int i = 1; i <= a; i++)
{
//sum = sum + i;
sum += i;
}
Console.WriteLine("累加求和的结果为:"+sum);
Console.ReadLine();
死循环:出不来,一直在执行 只要没有循环条件就是死循环
for (; ; )
{
Console.WriteLine("你好");
}
//当i==10的时候跳出
for ( int i = 0; ; i++)
{
if (i == 10)
{
break;//跳出整个循环
}
}
三角形
for嵌套
//左上
for (int i = 5; i >= 1; i--)
{
for (int j = 1; j <= i; j++)
{
Console.Write("□");
}
Console.Write("\n");
}
Console.ReadLine();
//左下
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write("□");
}
Console.Write("\n");
}
Console.ReadLine();
//右上
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j < i; j++)
{
Console.Write("●");
}
for (int k = 6 - i; k >= 1; k--)
{
Console.Write("□");
}
Console.Write("\n");
}
Console.ReadLine();
//右下
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= 5 - i; j++)
{
Console.Write(" ");
}
for (int k = 1; k <= i; k++)
{
Console.Write("□");
}
Console.Write("\n");
}
Console.ReadLine();
//break在循环语句中表示跳出循环,而它在elseif中表示跳出最近的花括号
//练习题:找出100以内与7有关的数并打印
//1、从1找到100
//2、找出与7有关的数
//个位数是7a%10==7
//十位数是7a/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");
// }//\t 表示水平制表符,横向的以表格的样式排列
//}
//Console.ReadLine();
//break,跳出循环,
//循环条件不写出也是死循环,加break.
//当i==10的时候跳出
//int i=0;
//for (; ; )//或是for(inti=0;;i++)
//{
// i++;
// if (i == 10)
// {
// break;
// }
//}
//Console.ReadLine();
////练习题输入一个正整数n,求1-n的阶乘
//Console.Write("请输入一个正整数");
//int n = int.Parse(Console.ReadLine());
//int x = 0;
//for (int i = 1; i <= n; i++)
//{
// x = x + i;
//}
//Console.WriteLine(x);
//Console.ReadLine();
//int i, j, k;
//for (i = 0; i < 5; i++)
//{
// for (j = 6 - i; j >= 0; j--)
// {
// Console.Write(" ");
// }
// for (k = 0; k < 2 * i + 1; k++)
// {
// Console.Write("&");
// }
// Console.Write("\n");
//} Console.ReadLine();
//for循环的嵌套
//输入一个正整数,累加求和(求阶乘)
//Console.Write("请输入一个正整数:");
//int a = int.Parse(Console.ReadLine());
//int sum = 1;
//for (int i = 1; i <= a; i++)
//{
// sum *= i;
//}
//Console.Write("结果是:"+sum );
//Console.ReadLine();
//输入一个整数,求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.Write("结果是:" + 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();
//矩形,5*5的阵列 外循环控制的是行,内循环是控制的是列
//for (int i=0;i <5;i ++)
//{
//for (int j=0;j <=4-i ;j ++)
//{
// Console.Write("□");
//}
//Console.WriteLine();
//}
//Console.ReadLine();
//99口诀表 直角在左下角
//for (int i = 1; i < 9; i++)
//{
// for (int j = 1; j <= i; j++)
// {
// Console.Write("{0}*{1}={2}\t",j,i,(j *i ) );
// }
// Console.Write("\n");
//}
//Console.ReadLine();
//一个游戏,前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)
// {
// 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)//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 <=40 ;i ++)
// {
// sum +=20;
// }
// for (int i=41;i <=a ;i ++)
// {
// sum +=30;
// }
// }
// else
// {
// 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)
// {
// sum += 10;
// }
// else if (i <=40)
// {
// sum += 20;
// }
// else if (a <= 49)
// {
// sum += 30;
// }
// else
// {
// sum += 100;
// }
// }
//}
//else
//{
//Console.WriteLine("输入有误!");
//}
//Console.WriteLine("您的分数是:"+sum );
//Console.ReadLine();
//篮球弹起问题,篮球初始所在高度是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();
//折纸:有一张超大的纸,可以无限次折叠
//厚度为0.07毫米
//问:折叠多少次可以超过珠峰的高度(8848米)
//int ci = 0;//标记变量,标记总共运行几次
//double h = 0.07;//8848m=8848000
//for (; ; )
//{
// ci++;//ci+1
// h *= 2;//h=h*2;
// if (h > 8848000)
// {
// break;
// }
//}
//Console.WriteLine("经过{0}次折叠,可以超过珠峰的高度。高度为:{1}米",ci ,h /1000);
//Console.ReadLine();
for 循环