循環結構演算法
㈠ 使用循環結構實現計算N!的演算法是
循環結構實現就用迭代,簡單來講遞歸就是自己調用自己,循環結構一般分為while和for。
以下是遞歸:
java">//用迭代的方法計算n的階乘
longfactorial(intn)
{
intresult=1;
while(n>1)
{
result*=n;
n-=1;
}
returnresult;
}
在這一題上,循環的代碼就要寫長一點,自己動動手吧,不會吃虧的
㈡ C語言循環結構有哪幾種
1、while循環
while語句的一般形式為:while(表達式)語句。其中表達式是循環條件,語句為循環體。
while語句中的表達式一般是關系表達或邏輯表達式,只要表達式的值為真(非0)即可繼續循環。
2、do-while語句的一般形式為:
do
語句
while(表達式);
這個循環與while循環的不同在於:它先執行循環中的語句,然後再判斷表達式是否為真,
如果為真則繼續循環;如果為假,
則終止循環。因此,
do-while循環至少要執行一次循環語句。
3、在C語言中,for語句使用最為靈活,它完全可以取代
while
語句。它的一般形式為:
for(表達式1;表達式2;表達式3)
語句
它的執行過程如下:
1)
先求解表達式1。
2)
求解表達式2,若其值為真(非0),則執行for語句中指定的內嵌語句,然後執行下
面第3)步;若其值為假(0),則結束循環,轉到第5)步。
3)
求解表達式3。
4)
轉回上面第2)步繼續執行。
5)
循環結束,執行for語句下面的一個語句。
注意:
1)
for循環中的「表達式1(循環變數賦初值)」、「表達式2(循環條件)」和「表達式3(循環變數增量)」都是選擇項,
即可以預設,但「;」不能預設。
2)
省略了「表達式1(循環變數賦初值)」,
表示不對循環控制變數賦初值。
3)
省略了「表達式2(循環條件)」,
則不做其它處理時便成為死循環。
4、幾種循環的比較
1)
循環都可以用來處理同一個問題,一般可以互相代替。
2)
while和do-while循環,循環體中應包括使循環趨於結束的語句。for語句功能最強。
3)
用while和do-while循環時,循環變數初始化的操作應在while和do-while語句之前完成,而for語句可以在表達式1中實現循環變數的初始化。