《高級語言程序設計實驗報告 C語言實驗報告》由會員分享,可在線閱讀,更多相關《高級語言程序設計實驗報告 C語言實驗報告(5頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、C語言程序設計實驗報告
實驗二 循環(huán)結(jié)構(gòu)程序設計
班級 2012196 學號 201219628 姓名 李明月
一、實驗目的
(1)掌握用while語句,do-while語句和for語句實現(xiàn)循環(huán)的方法;
(2)掌握循環(huán)結(jié)構(gòu)的嵌套;
(3)掌握break語句和continue語句的使用方法。
二、 實驗內(nèi)容及步驟
1.相傳國際象棋是古印度舍罕王的宰相達依爾發(fā)明的。舍罕王十分喜歡象棋,決定讓宰相自己選擇何種賞賜。這位聰明的宰相指著8×8共64格的象棋盤說:陛下,請您賞給我一些麥子吧,就在棋盤的第一個格子中放1粒,第2格中放
2、2粒,第3格放4粒,以后每一格都比前一格增加一倍,依此放完棋盤上的64個格子,我就感恩不盡了。舍罕王讓人扛來一袋麥子,他要兌現(xiàn)他的許諾。 國王能兌現(xiàn)他的許諾嗎?
程序1:試編程計算舍罕王共要多少粒麥子賞賜他的宰相,這些麥子合多少立方米?(已知1立方米麥子約1.42e8粒) 總粒數(shù)為:sum=1+2+22+23+…+263
程序代碼:
#include
int main( ) //定義一個主函數(shù)
{
int i;
double t=1,sum=1,v; //
3、定義變量
for(i=1;i<=63;i++) //用for循環(huán)語句實現(xiàn)循環(huán)運算
{
t=t*2;
sum+=t; //循環(huán)表達式
}
printf("總麥粒數(shù)為:%f\n",sum);
v=sum/1.42e8;
printf("折合體積為: %f立方米\n",v); //對結(jié)果進行輸出
return 0;
}
運行結(jié)果:
2. 求完數(shù)。
程序2:一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。例如6的因子為1,2,3,
4、而6=1+2+3,因此6是“完數(shù)”。編程找出1000之內(nèi)的所有完數(shù),輸出所有的完數(shù)(要求:一行顯示6個數(shù));
程序代碼:
#include
int main()
{
int i,j,sum,n=0;
printf(" 1000以內(nèi)的完數(shù)有:\n");
for(i=1;i<=1000;i++)
{
sum=0;
for(j=1;j
5、 }
if(sum==i)
{
printf(" %d",i);
n=n+1;
if(n%2==0)
printf("\n");
}
}
printf("\n");
return 0;
}
運行結(jié)果:
3.打印九九乘法表
程序3:編程輸出如下上三角形式的九九乘法表。
1 2 3 4 5 6 7 8 9
- - - - - - - - -
1
6、 2 3 4 5 6 7 8 9
4 6 8 10 12 14 16 18
9 12 15 18 21 24 27
16 20 24 28 32 36
25 30 35 40 45
36 42 4
7、8 54
49 56 63
64 72
81
程序代碼:
#include
int main()
{
int i,j;
printf(" 1 2 3 4 5 6 7 8
8、9\n");
printf(" - - - - - - - - -\n");
for(i=1;i<10;i++) //i代表行
{
for(j=1;j<=i;j++) //輸出空格達到來使得向右對齊
printf(" ");
for(j=i;j<10;j++) //j代表列
printf("%-2d ",i*j); //輸出行與列的乘積
printf("\n");
}
運行結(jié)果:
三、問題討論
b
9、reak語句和continue語句在循環(huán)結(jié)構(gòu)中使用時有何區(qū)別?舉例說明。
break語句是跳出整個循環(huán)過程,不再判斷執(zhí)行循環(huán)的田間是否成立,并且break語句不能用于循環(huán)語句和switch語句之外的任何其他語句中。而continue語句則只是結(jié)束本次循環(huán),即跳過循環(huán)體中下面尚未執(zhí)行的語句,接著進行下一次是否執(zhí)行循環(huán)的判定。
例子:
#include
int main( )
{
int i;
for(i=100;i<=200;i++)
{
if(i%3==0)
continue;
printf("%d",i);
}
printf("\n");
return 0;
}
輸出:
但是換成break之后:
四、實驗心得
個人感覺對于這幾個循環(huán)語句還是for循環(huán)最為靈活,不進可以用于循環(huán)次數(shù)一句in個確定的情況,還可用于不確定的情況下,它也完全可以代替while語句。并且是程序看起來更為簡潔明了。
5