C# 迴圈語句 for迴圈(嵌套 while 窮舉 迭代)

來源:互聯網
上載者:User

for迴圈的嵌套類似於if else

案例:
列印矩陣
for (int k = 1; k <= 5; k++)
{
for (int i = 1; i <= 5; i++)
{
Console.Write("■");
}
Console.WriteLine();
}


列印左下角是直角的三角形
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write("■");
}
Console.WriteLine();
}

列印左上方是直角的三角形
for (int i = 1; i <= 5; i++)
{
for (int j = 5; j >= i; j--)
{
Console.Write("■");
}
Console.WriteLine();
}


列印右下角是直角的三角形
for (int i = 1; i <= 5; i++)
{
for (int k = 1; k <= 5 - i; k++)
{
Console.Write(" ");
}
for (int j = 1; j <= i; j++)
{
Console.Write("■");
}
Console.WriteLine();
}


列印右上方是直角的三角形
for (int i = 1; i <= 5; i++)
{
for (int k = 2; k <= i; k++)
{
Console.Write(" ");
}
for (int j = 5; j >= i; j--)
{
Console.Write("■");
}
Console.WriteLine();
}

 


請輸入一個正整數,
根據這個數列印一個兩邊長度為這個數的
直角在右下角的三角形
Console.Write("請輸入一個正整數:");
int a = int.Parse(Console.ReadLine());
for (int i = 1; i <= a; i++)
{
for (int j = 1; j <= a - i; j++)
{
Console.Write(" ");
}
for (int k = 1; k <= i; k++)
{
Console.Write("■");
}
Console.WriteLine();
}
Console.ReadLine();

輸入一個整數,求1!+2!+...+n!
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);


99口訣表
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write(j+"*"+i+"="+j*i+"\t");
}
Console.WriteLine();
}

Console.ReadLine();

while 迴圈

 

其實是for迴圈的變形寫法
for(int i = 1; i<=5;i++)
{
迴圈體;
}
上面的for迴圈可以寫成
int i= 1;
for(;i<=5;)
{
迴圈體;
i++;
}
寫成while就是以下樣式
int i= 1;
while(運算式(i<=5))
{
迴圈體;
狀態改變(i++);
}

do
{
迴圈體;
狀態改變(i++);
}while(運算式(i<=5))
注意:do while是不管滿不滿足運算式,我都會先執行一遍。

舉例應用:

摺紙:0.07mm,對摺多少次能夠超過珠峰高度(8848m)
int ci = 0;
double height = 0.07;
while (height < 8848000)
{
height *= 2;
ci++;
}

while (1 == 1)
{
height *= 2;
ci++;
if (height >= 8848000)
{
break;
}
}
Console.WriteLine(ci);
Console.ReadLine();


使用while迴圈做99口訣表
int i = 1;

while (i <= 9)
{
int j = 1;
while (j <= i)
{
Console.Write(j+"*"+i+"="+j*i+"\t");
j++;
}
Console.WriteLine();
i++;
}
Console.ReadLine();

 

 

 

窮舉

把所有可能的情況都走一遍,使用if條件式篩選出來滿足條件的情況。

舉例應用:

 

單位給發了一張150元購物卡,
拿著到超市買三類洗化用品。
洗髮水15元,香皂2元,牙刷5元。
求剛好花完150元,有多少種買法,每種買法都是各買幾樣?
int sum = 0;
int zong = 0;
for (int x = 0; x <= 10; x++)
{
for (int y = 0; y <= 30; y++)
{
for (int z = 0; z <= 75; z++)
{
zong++;
if (x * 15 + y * 5 + z * 2 == 150)
{
sum++;
Console.WriteLine("第{0}種買法:洗髮水{1}瓶,香皂{2}塊,牙刷{3}支。",sum,x,z,y);
}
}
}
}
Console.WriteLine("總共有"+sum+"種買法。");
Console.WriteLine(zong);
Console.ReadLine();

 

迭代

從初始情況按照規律不斷求解中間情況,最終推匯出結果。

舉例應用:

紙張可以無限次對摺,紙張厚度為0.07毫米。
問多少次對摺至少可以超過8848米?
8848米=8848000
double height = 0.07;
int ci = 0;
for (; ; )
{
height *= 2;
ci++;
Console.WriteLine(ci + "次,現在的高度是:" + height / 1000 + "米。");
if (height >= 8848000)
{
break;//跳出整個迴圈
}
}
Console.ReadLine();

 


五個小朋友排成一隊,問第一個多大了,
第一個說比第二個大兩歲,問第二個多大了,
第二個說比第三個大兩歲。。。以此類推,
問第5個小朋友,說自己3歲了。問第一個小朋友幾歲了?

int m = 3;
for (int i = 1; i <= 4; i++)
{
m += 2;
}
Console.WriteLine("第一個小朋友{0}歲了。",m);
Console.ReadLine();

 


大馬駝2石糧食,中等馬駝1石糧食,兩頭小馬駝1石糧食,
要用100匹馬,駝100石糧食,該如何分配?
for (int d=0;d<=100 ;d++ )//d為大馬
{
for (int z=0;z<=100 ;z++ )//z為中馬
{
for (int x=0;x<=100 ;x++ )//z為小馬
{
if (d +z+x==100&&2*d+z+0.5*x==100)
{
Console.WriteLine("大馬"+d+"匹,中馬"+z+"匹,小馬"+x+"匹");
}
}
}
}
Console.ReadLine ();

 

 4.有1分錢,2分錢,5分錢的硬幣,

要組合出來1.5元錢,有幾種組合方式,分別各多少個?
int n = 0;
for (int a = 0; a <= 150; a++)
{
for (int b = 0; b <= 75; b++)
{ for(int c=0;c<=30;c++)
{
if (a + 2 * b + 5 * c == 150)
{
Console.WriteLine("1分錢的"+a+"二分錢的"+b+"三分錢的"+c);
n++; }
}
}
}Console.WriteLine("組合方式有"+n);
Console.ReadLine();

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.