for
格式:
for(int)=1/*初始条件*/;i<=100/*;i++/*状态改变*/)
{
//循环体,执行代码,;(break;跳出循环体)
}
给出初始条件,先判断是否满足循环条件,如果不满足条件则跳过for语句,如果满足则进入for语句执行,for语句内的代码执行完毕后,将按照状态改变,改变变量,然后判断是否符合循环条件,符合则继续执行for语句内的代码,直到变量i不符合循环条件则终止循环,或者碰到break;命令,直接跳出当前的for循环。
break在这里是跳出循环的意思
for可以嵌套
循环语句:反复执行某一代码
四要素:1.初始条件 2.循环条件 3.循环体 4.状态改变
/t 水平制表符号,换向
例题
(1)输入正整数n,求1-n的和。(同理可以求1-n)的阶乘)
Console.Write("请输入一个正整数");
int n =int.Parse(Console.Readline());
int x=0
for(int i=1;i<=n;i++)
{
x=x+1
}
Console.WriteLine(x);
Console.ReadLine();
(2)100节楼梯,0—49节 分数等于节数 50以后(包括50)每节10分输入节数 得出分数
Console.Write("请输入节数:");
int a=int.Parse(Console.ReadLine());
int m=0
if(n>100) //输入超过100时
{
Console.Write("您输入的数字有误");
}
else
{
for(int i=1;i<=n;i++)//根据n的大小进行循环
{
if(i<50)//当n小于50
{
m+=i;// m=m+i “+=”赋值运算
}
else//当n大于等于50小于100时
{
m+=10;//m=m+10
}
}
Console.Write("您的分数是:"+m.ToString());
}
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 m = int.Parse(Console.ReadLine());
int ct = 0;
int xt = 0;
int yt = 1;
int zt = 1;
for (int i=1; i<=m;i++)
{
if (i == 1)
{
ct = 0;
xt = 0;
yt = 1;
}
else
{
ct = xt+yt;
xt = yt;
yt = ct;
}
zt = ct+xt+yt;
Console.WriteLine(i + "个月后成兔对数是:" + ct);
Console.WriteLine(i + "个月后小兔对数是:" + xt);
Console.WriteLine(i + "个月后幼兔对数是:" + yt);
Console.WriteLine(i + "个月后总兔对数是:" + zt);
Console.ReadLine();
}
Console.ReadLine();
(4).打印一个三角形
1)嵌套
Console.Write("请输入一个数字:");
int s = int.Parse(Console.ReadLine());
for (int i = 1; i <= s; i++)
{
for (int t = 1; t <= i; t++)
{
Console.Write("★");
}
Console.Write("
");
}
Console.ReadLine();
Console.WriteLine("---------------");
2).只用一个for:
Console.Write("请输入一个数字:");
int s = int.Parse(Console.ReadLine());
string x = "";
string y = "★";
for (int i = 1; i<=s; i++)
{
x = x + y;
Console.Write(x);
Console.Write("
");
}
Console.ReadLine();
string a = "";
string b ="¤"
for(int i=0;i<n;i++)
{
for(int t=1;t<=n-i-1;t++)
{
Console.Write(" ");
}
a=a+b;
Console.Write(a);
Console.Write("
");
}
Console.ReadLine();
for (int i = 1; i <= n; i++)
{
for (int t = 1; t < i; t++)
{
Console.Write(" ");
}
for (int f = n - i + 1; f >= 1; f--)
{
Console.Write("◎");
}
Console.Write("
");
}
Console.ReadLine();
(5).打印一个菱形
Console.Write("请输入一个数:");
int a = int.Parse(Console.ReadLine());
for (int i = 1; i <= a; i++)
{
for (int b = 1; b <= a - i; b++)
{
Console.Write(" ");
}
for (int j = 1; j <= 2 * i - 1; j++)
{
Console.Write("☆");
}
Console.Write("
");
}
for (int p = 1;p<a ; p++)
{
for (int o = 1; o <= p; o++)
{
Console.Write(" ");
}
for (int k = 1; k <= 2 * (a - p) - 1; k++)
{
Console.Write("★");
}
Console.Write("
");
}
Console.ReadLine();
(6).//for循环的嵌套
//输入一个正整数,累加求和(求阶乘)
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();
(7).//矩形.5*5的阵列
//for (int j = 0; j < 5; j++)
//{
// for (int j = 0; j <= i; j++)
// {
// Console.Write("");
// }
// Console.WriteLine();
//}
//Console.ReadLine();
(8).//九九乘法表
//for (int a = 1; a <=9; a++)
//{
// for (int b = 1; b <= a; b++)
// {
// Console.Write("{0}*{1}={2} ", a, b,( a * b));
// }
// Console.WriteLine();
//}
//Console.ReadLine();
(9).//直角在右下角的三角形
//for (int i = 1; i <= 5; i++)
//{
// for (int j = 1; j <= 5 - i; j++)
// {
// Console.Write("□");
// }
// Console.WriteLine();
// }
// Console.ReadLine();
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();