使用C語(yǔ)言循環(huán)結(jié)構(gòu)進(jìn)行程序設(shè)計(jì)實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康?. 熟練掌握while和for循環(huán)結(jié)構(gòu)以及實(shí)現(xiàn)循環(huán)的方法;2. 掌握在程序設(shè)計(jì)中使用循環(huán)的方法實(shí)現(xiàn)各種算法(如窮舉、迭代、遞推等)。二、知識(shí)要點(diǎn)在C語(yǔ)言的程序設(shè)計(jì)中,有很多問(wèn)題需要對(duì)同一
一、實(shí)驗(yàn)?zāi)康?/p>
1. 熟練掌握while和for循環(huán)結(jié)構(gòu)以及實(shí)現(xiàn)循環(huán)的方法;
2. 掌握在程序設(shè)計(jì)中使用循環(huán)的方法實(shí)現(xiàn)各種算法(如窮舉、迭代、遞推等)。
二、知識(shí)要點(diǎn)
在C語(yǔ)言的程序設(shè)計(jì)中,有很多問(wèn)題需要對(duì)同一問(wèn)題進(jìn)行反復(fù)求解,循環(huán)結(jié)構(gòu)的程序可以實(shí)現(xiàn)此類功能。在C語(yǔ)言中,主要有兩類循環(huán):一是當(dāng)型循環(huán),另一種是直到型循環(huán),后一種較少使用。從語(yǔ)句的角度來(lái)說(shuō),主要有Do{ }while和While(條件表達(dá)式){ }以及for(條件表達(dá)式1;判斷;表達(dá)式){ }。
三、實(shí)驗(yàn)內(nèi)容及步驟
1. 編寫(xiě)一個(gè)控制臺(tái)應(yīng)用程序,輸入一個(gè)數(shù),判斷是否為素?cái)?shù)。
代碼如下:
includelt;iostreamgt;
using namespace std;
includelt;math.hgt;
void f(int n)
{
int i,j0;
for(i2;ilt;sqrt(n);i )
if(n%i0)
j ;
if(n0||nlt;0)
coutlt;lt;quot;數(shù)據(jù)錯(cuò)誤!quot;lt;lt;quot;aquot;lt;lt;endl;
else if(n1)
coutlt;lt;quot;這個(gè)數(shù)不是素?cái)?shù)。quot;lt;lt;endl;
//“1”要特殊處理。
else
{
if(j0)
coutlt;lt;quot;這個(gè)數(shù)是素?cái)?shù)。quot;lt;lt;endl;
else
coutlt;lt;quot;這個(gè)數(shù)不是素?cái)?shù)。quot;lt;lt;endl;
}
}
int main()
{
int n;
coutlt;lt;quot;請(qǐng)輸入要檢驗(yàn)的整數(shù):quot;lt;lt;endl;
cingt;gt;n;
f(n);
return 0;
}
運(yùn)行結(jié)果如下:
2. 根據(jù)上面的代碼,輸出100-200之間的所有素?cái)?shù)。
代碼如下:
includelt;iostreamgt;
includelt;cmathgt;
includelt;iomanipgt;
using namespace std;
int main()
{
int m,k,i,n0;
bool prime;
for(m101;mlt;200;mm 2)
{
primetrue;
kint(sqrt(m));
for(i2;ilt;k;i )
if(m%i0)
{
primefalse;
break;
}
if(prime)
{
coutlt;lt;setw(5)lt;lt;m;
nn 1;
}
if(n0)
coutlt;lt;endl;
}
coutlt;lt;endl;
return 0;
}
運(yùn)行結(jié)果如下:
3. 編寫(xiě)一個(gè)程序,計(jì)算100!,并討論使用什么數(shù)據(jù)類型來(lái)存儲(chǔ)。
代碼如下:
includelt;iostreamgt;
using namespace std;
long float fac(int n)
{
long float f;
if(nlt;0)
{
coutlt;lt;nlt;lt;quot;,data error!quot;lt;lt;endl;
f-1;
}
else if(n0||n1)
f1;
else
ffac(n-1)*n;
return f;
}
int main()
{
int n;
long float y;
coutlt;lt;quot;please input a data:quot;;;
cingt;gt;n;
yfac(n);
coutlt;lt;nlt;lt;quot;!quot;lt;lt;ylt;lt;endl;
return 0;
}
由于100!的計(jì)算結(jié)果非常大,因此我們需要使用長(zhǎng)浮點(diǎn)型數(shù)據(jù)類型來(lái)存儲(chǔ)。
新C語(yǔ)言循環(huán)結(jié)構(gòu)程序設(shè)計(jì)實(shí)驗(yàn)及示例