版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、廣西科技大學(xué)實(shí)驗(yàn)報(bào)告 C語(yǔ)言程序設(shè)計(jì) 成績(jī)GuangxiUniversity of Science and Technolog成績(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告院 (系): 計(jì)算機(jī)學(xué)院 專(zhuān) 業(yè): 通信工程 班 級(jí): 通信132班學(xué)生姓名: 王睿 學(xué) 號(hào): 201300402042 上 課 時(shí) 間:2013-2014(1) 指 導(dǎo) 老 師: 王智文 廣西科技大學(xué)實(shí)驗(yàn)報(bào)告 C語(yǔ)言程序設(shè)計(jì) 實(shí)驗(yàn)一 C程序運(yùn)行環(huán)境及簡(jiǎn)單程序的運(yùn)行一、實(shí)驗(yàn)?zāi)康模?)了解所用的計(jì)算機(jī)系統(tǒng)的基本操作方法,學(xué)會(huì)獨(dú)立使用該系統(tǒng)。(2)了解在該系統(tǒng)上如何編輯、編譯、連接和運(yùn)行一個(gè)C 程序。(3)通過(guò)運(yùn)行簡(jiǎn)單的C 程序,初步了解C 程序的
2、特點(diǎn)。二、實(shí)驗(yàn)內(nèi)容1.下列程序的功能為:計(jì)算x*y的值并將結(jié)果輸出,程序中有8處錯(cuò)誤,嘗試改正并上機(jī)調(diào)試之(程序以文件名sy1_2.cpp存盤(pán))。#include void main int x=2;y=3;aA=x*yprint (a=%d,a);printf(n);2.下列程序的功能為:輸入圓的半徑,計(jì)算圓面積并將結(jié)果輸出;程序中有9處錯(cuò)誤,嘗試改正并上機(jī)調(diào)試之(程序以文件名sy1_3.cpp存盤(pán))。#include stdio.h; int mian();float r; area; printf(input r:n); scanf(%f,r);area=3.14159r*r;print
3、f(r=%f , area=%fn,area);3.編寫(xiě)一個(gè)程序?qū)崿F(xiàn)輸入三個(gè)整數(shù),顯示出其中的最大值。三、實(shí)驗(yàn)分析與總結(jié) 總結(jié)程序的結(jié)構(gòu)和書(shū)寫(xiě)規(guī)則。 閱讀:附件A-在Visual C+環(huán)境下運(yùn)行C程序的方法。特別提示:當(dāng)程序在編譯時(shí)發(fā)現(xiàn)很多錯(cuò)誤,此時(shí)應(yīng)從上到下逐一改正,或改一個(gè)錯(cuò)誤,就重新再編譯,因?yàn)橛袝r(shí)一個(gè)錯(cuò)誤會(huì)引起很多錯(cuò)誤信息。四、相關(guān)實(shí)驗(yàn)程序列表1#include void main() int x=2,y=3,a;a=x*y;printf (a=%d,a);printf(n);2#include ; int main()float r, area; printf(input r:n);
4、 scanf(%f,r);area=3.14159*r*r;printf(r=%f , area=%fn,area);3#includeint main()int max(int x,int y,int z);int a,b,c,d;scanf(%d,%d,%d,&a,&b,&c);d=max(a,b,c);printf(max=%dn,d);return 0;int max(int x,int y,int z)int w;if(xy)w=x;else w=y;int q;if(wz)q=w;else q=z;return(q);五、實(shí)驗(yàn)心得通過(guò)這次學(xué)習(xí),我學(xué)會(huì)了編輯、編譯、連接和運(yùn)行一個(gè)C
5、程序,初步了解了C 程序的特點(diǎn),我感到很高興,我會(huì)努力把基礎(chǔ)學(xué)好。實(shí)驗(yàn)二基本數(shù)據(jù)類(lèi)型、運(yùn)算和表達(dá)式一、實(shí)驗(yàn)?zāi)康模?)掌握C 語(yǔ)言數(shù)據(jù)類(lèi)型,熟悉如何定義一個(gè)整型和實(shí)型的變量,以及對(duì)它們賦值的方法。(2)掌握不同的類(lèi)型數(shù)據(jù)之間賦值的規(guī)律。(3) 學(xué)會(huì)使用C 的有關(guān)算術(shù)運(yùn)算符,以及包含這些運(yùn)算符的表達(dá)式,特別是自加(+)和自減(-)運(yùn)算符的使用。(4)進(jìn)一步熟悉C 程序的編輯、編譯、連接和運(yùn)行的過(guò)程。二、實(shí)驗(yàn)內(nèi)容1.變量定義,按要求完成程序下面給出一個(gè)可以運(yùn)行的程序,但是缺少部分語(yǔ)句,請(qǐng)按右邊的提示補(bǔ)充完整缺少的語(yǔ)句。#include stdio.hmain(); /*定義整型變量a 和b*/; /
6、*定義實(shí)型變量i 和j*/a=5;b=6;i=3.14; j=i*a*b;printf(a=%d,b=%d,i=%f,j=%fn, a, b, i, j);具體操作步驟(1)將代碼補(bǔ)充完整;(2)在VC+上運(yùn)行通過(guò)并寫(xiě)出運(yùn)行結(jié)果。2.在顯示屏上顯示指定字符要求編寫(xiě)一個(gè)程序,在顯示屏上顯示如下內(nèi)容(全為半角字符,且不包含空格):C:ABC.TXT提示 注意轉(zhuǎn)義字符在程序中的使用。3.賦值表達(dá)式與賦值語(yǔ)句,寫(xiě)出程序運(yùn)行結(jié)果閱讀下面程序,寫(xiě)出運(yùn)行結(jié)果:#include stdio.hmain() float a;int b, c;char d, e;a=3.5;b=a;c=330;d=c;e=141
7、;printf(%f,%d,%d,%c,%c, a,b,c,d,e);運(yùn)行結(jié)果為:提示賦值語(yǔ)句具有類(lèi)型轉(zhuǎn)換的功能,但可能會(huì)改變數(shù)據(jù)。4. 基本運(yùn)算,寫(xiě)出程序運(yùn)行結(jié)果閱讀下面程序,寫(xiě)出運(yùn)行結(jié)果:#include stdio.hmain() int a, b, c;float d=15, e, f;a=35%7;b=15/10;c=b+;e=15/10;f=d/10;printf(%d,%d,%d,%f,%f,%f, a,b,c,d,e,f);運(yùn)行結(jié)果為:提示除法分整除與普通除法之分。三、實(shí)驗(yàn)分析與總結(jié) 總結(jié)如何定義程序的數(shù)據(jù)類(lèi)型,運(yùn)算符的優(yōu)先級(jí)別,賦值表達(dá)式的作用。程序4中的b+改寫(xiě)為+b后的結(jié)
8、果會(huì)變化嗎?四、相關(guān)實(shí)驗(yàn)程序列表1#include stdio.hint main()int a=5;int b=6;float i=3.14;float j=i*a*b;printf(a=%d,b=%d,i=%fn, a, b, i);printf(j=%fn,j);return 0;2#include stdio.hint main()printf(C:ABC.TXT);3#include stdio.hmain() float a;int b, c;char d, e;a=3.5;b=a;c=330;d=c;e=141;printf(%f,%d,%d,%c,%c, a,b,c,d,e);
9、4#include stdio.hmain() int a, b, c;float d=15, e, f;a=35%7;b=15/10;c=b+;e=15/10;f=d/10;printf(%d,%d,%d,%f,%f,%f, a,b,c,d,e,f);五、實(shí)驗(yàn)心得通過(guò)這次學(xué)習(xí)我學(xué)會(huì)了整型和實(shí)型的變量,以及對(duì)它們賦值的方法和使用C 的有關(guān)算術(shù)運(yùn)算符,以及包含這些運(yùn)算符的表達(dá)式,我會(huì)鞏固所學(xué)到的知識(shí),繼續(xù)努力。實(shí)驗(yàn)三基本輸入與輸出一、實(shí)驗(yàn)?zāi)康模?)熟練掌握putchar、getchar、printf、scanf 函數(shù)的使用方法。(2)掌握各種類(lèi)型數(shù)據(jù)的輸入輸出的方法,能正確使用各種格式轉(zhuǎn)換符。二
10、、實(shí)驗(yàn)內(nèi)容1.字符的輸入與輸出編程實(shí)現(xiàn)由鍵盤(pán)輸入一個(gè)字符后,在屏幕上輸出該字符。參考程序:#include stdio.hmain() char ch;ch = getchar();putchar(ch);2.加法計(jì)算編程實(shí)現(xiàn)由鍵盤(pán)輸入一個(gè)加法式,輸出正確的結(jié)果。(兩個(gè)加數(shù)均為整數(shù))。參考程序:#include stdio.hmain() int a, b;scanf(%d%*c%d, &a,&b);printf(%d, a+b);3.求圓的面積由鍵盤(pán)輸入圓半徑r,請(qǐng)計(jì)算該圓的面積。(注:取3.14159,結(jié)果保留兩位小數(shù)位;另外,程序只要能對(duì)r 在0 到10000 范圍的情況輸出正確答案即可
11、)。參考程序:#include stdio.hmain() float area,r;scanf(%f,&r);area=3.14159*r*r;printf(%0.2f,area);運(yùn)行結(jié)果為:4. 計(jì)算攝氏溫度值從鍵盤(pán)輸入一個(gè)華氏溫度值,要求按格式輸出其對(duì)應(yīng)的攝氏溫度值,精確到小數(shù)點(diǎn)后兩位。數(shù)學(xué)公式描述為:參考程序:#includemain() float f,c;scanf(%f,&f);c=5.0/9*(f-32);printf(%.2f,c);運(yùn)行結(jié)果為:三、實(shí)驗(yàn)分析與總結(jié)各實(shí)驗(yàn)運(yùn)行結(jié)果及分析。 程序2中%*c的含義是什么?(3) 程序4中c=5.0/9*(f-32),為什么要用5.
12、0,如果改為5,運(yùn)行結(jié)果將會(huì)是什么?四、相關(guān)實(shí)驗(yàn)程序列表1#include stdio.hint main() char ch;ch = getchar();putchar(ch);putchar(n);2#include stdio.hmain() int a, b;scanf(%d%*c%d, &a,&b);printf(%dn, a+b);3#include stdio.hmain() float area,r;scanf(%f,&r);area=3.14159*r*r;printf(%0.2fn,area);4#includemain() float f,c;scanf(%f,&f);
13、c=5.0/9*(f-32);printf(%.2fn,c);五、實(shí)驗(yàn)心得通過(guò)這次學(xué)習(xí),我熟悉了putchar、getchar、printf、scanf 函數(shù)的使用方法以及各種類(lèi)型數(shù)據(jù)的輸入輸出,能夠正確使用各種格式轉(zhuǎn)換符,我感受到了學(xué)習(xí)c語(yǔ)言的樂(lè)趣。實(shí)驗(yàn)四順序結(jié)構(gòu)程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康模?)熟練掌握順序結(jié)構(gòu)程序設(shè)計(jì)的設(shè)計(jì)方法。(2)掌握各賦值語(yǔ)句的正確使用方法。(3)學(xué)習(xí)進(jìn)一步調(diào)試程序。二、實(shí)驗(yàn)內(nèi)容1.sizeof運(yùn)算符的使用方法以下程序用于測(cè)試C中不同類(lèi)型數(shù)據(jù)所占內(nèi)存字節(jié)數(shù),運(yùn)行并體會(huì)sizeof運(yùn)算符的使用方法。/sizeof運(yùn)算的結(jié)果為一個(gè)int型的整數(shù),表示其求解對(duì)象的存儲(chǔ)所占的內(nèi)存字
14、節(jié)數(shù)。#include void main()int a=1;printf(Size of char is %dn, sizeof(char); printf(Size of short is %dn, sizeof(short);printf(Size of int is %dn, sizeof(int);printf(Size of long is %dn, sizeof(long);printf(Size of float is %dn, sizeof(float);printf(Size of double is %dn, sizeof(double);printf(Size of b
15、ool is %dn, sizeof(bool);printf(n); printf(Size of a is %dn, sizeof(a);/變量的類(lèi)型所占內(nèi)存字節(jié)數(shù)printf(Size of 2.0*10 is %dn, sizeof(2.0*10);/表達(dá)式運(yùn)算結(jié)果的類(lèi)型所占字節(jié)數(shù)Size of char is 1Size of short is 2Size of int is 4Size of long is 4Size of float is 4Size of double is 8Size of bool is 1Size of a is 4Size of 2.0*10 is 8
16、size of Liu Dehua is 10Press any key to continueprintf(size of Liu Dehua is %dn, sizeof(Liu DehSize of char is 1Size of short is 2Size of int is 4Size of long is 4Size of float is 4Size of double is 8Size of bool is 1Size of a is 4Size of 2.0*10 is 8size of Liu Dehua is 10Press any key to continue參考
17、結(jié)果2.分析程序的輸出結(jié)果閱讀并分析以下程序的輸出結(jié)果,上機(jī)調(diào)試,對(duì)比實(shí)際的輸出與分析的結(jié)果是否一致。#include void main()char ch=65;int a=1234; long g=12345678;float f=123.456789; double d=9.87654321E5;printf(%d,%c,%5d,%3cn,ch,ch,ch,ch); printf(%08d,%0+8d,%8d,%o,%7x,%10ld,%ld n,a,a,a,a,g,g); printf(%010.3f,%-10.3f,%10.3f,%f,%e,%gn,f,f,f,f,f,f); pri
18、ntf(%0+15.5lf,%-15.5lf,%15.5lf,%lf,%len,d,d,d,d,d);printf(%10sn%20sn%-10.3sn%sn,Hello,world!,Hello,world!,Hello,world!,Hello,world!);參考結(jié)果65,A, 65, A65,A, 65, A00001234,+0001234, 1234,2322, bc614e, 12345678,2367460000123.457,123.457 , 123.457,123.456787,1.234568e+002,123.457+00987654.32100,987654.321
19、00 , 987654.32100,987654.321000,9.876543e+005Hello,world!Hello,world!HelHello,world!3.程序修改下列程序的功能為:按下列公式計(jì)算并輸出x的值。其中a和b的值由鍵盤(pán)輸入。 x=2ab/(a+b)2請(qǐng)糾正程序中存在的錯(cuò)誤,使程序?qū)崿F(xiàn)其功能。 #include void main() int a,b; float x; scanf(%d,%d,a,b);x=ab/(a+b)(a+b); printf(x=%dn,x);4. 編寫(xiě)與調(diào)試程序?qū)懸粋€(gè)程序測(cè)試一下把帶小數(shù)的float和double型數(shù)據(jù)用printf函數(shù)輸出
20、時(shí),小數(shù)部分是截?cái)噙€是四舍五入?三、實(shí)驗(yàn)分析與總結(jié) 各實(shí)驗(yàn)運(yùn)行結(jié)果及分析。 程序1中Liu Dehua的sizeof的值為什么是10還不是9?四、相關(guān)實(shí)驗(yàn)程序列表1#include void main()int a=1;printf(Size of char is %dn, sizeof(char); printf(Size of short is %dn, sizeof(short);printf(Size of int is %dn, sizeof(int);printf(Size of long is %dn, sizeof(long);printf(Size of float is %
21、dn, sizeof(float);printf(Size of double is %dn, sizeof(double);printf(Size of bool is %dn, sizeof(bool);printf(n); printf(Size of a is %dn, sizeof(a);/變量的類(lèi)型所占內(nèi)存字節(jié)數(shù)printf(Size of 2.0*10 is %dn, sizeof(2.0*10);/表達(dá)式運(yùn)算結(jié)果的類(lèi)型所占字節(jié)數(shù)printf(size of Liu Dehua is %dn, sizeof(Liu Dehua);/字符串所占內(nèi)存字節(jié)數(shù)2#include void
22、 main()char ch=65;int a=1234; long g=12345678;float f=123.456789; double d=9.87654321E5;printf(%d,%c,%5d,%3cn,ch,ch,ch,ch); printf(%08d,%0+8d,%8d,%o,%7x,%10ld,%ld n,a,a,a,a,g,g); printf(%010.3f,%-10.3f,%10.3f,%f,%e,%gn,f,f,f,f,f,f); printf(%0+15.5lf,%-15.5lf,%15.5lf,%lf,%len,d,d,d,d,d);printf(%10sn%
23、20sn%-10.3sn%sn,Hello,world!,Hello,world!,Hello,world!,Hello,world!);3#include void main() int a,b; float x; scanf(%d,%d,&a,&b); x=(float)a*b/(a+b)*(a+b); printf(x=%fn,x); 4#include int main()float a=1.5555555555;double b=1.5555555555;printf(%f,%fn,a,b);return 0;五、實(shí)驗(yàn)心得通過(guò)這次學(xué)習(xí),我基本掌握了順序結(jié)構(gòu)程序設(shè)計(jì)的設(shè)計(jì)方法以及各賦值
24、語(yǔ)句的正確使用方法,我會(huì)努力熟悉他們以便更好地設(shè)計(jì)程序。實(shí)驗(yàn)五選擇結(jié)構(gòu)程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康模?)了解C 語(yǔ)言表示邏輯的方法(以0 代表“假”,以非0 代表“真”)。(2)學(xué)會(huì)正確使用邏輯運(yùn)算符和邏輯表達(dá)式。(3)熟練掌握if 語(yǔ)句和switch 語(yǔ)句。(4)結(jié)合程序掌握一些簡(jiǎn)單的算法。二、實(shí)驗(yàn)內(nèi)容1.判斷點(diǎn)是否在圓上由鍵盤(pán)輸入一個(gè)點(diǎn)的坐標(biāo),要求編程判斷這個(gè)點(diǎn)是否在單位圓上,點(diǎn)在圓上輸出Y,不在圓上輸出N。使用小數(shù)點(diǎn)后3位精度進(jìn)行判斷。提示(1)平面上的點(diǎn)與圓的關(guān)系分為在圓內(nèi)、在圓上、在圓外三種,本題要求判斷是否在圓上;(2)判斷兩實(shí)數(shù)相等采用判斷這兩實(shí)數(shù)的差的絕對(duì)值小于規(guī)定誤差精度(本題為0.
25、001)的方法實(shí)現(xiàn)。參考程序:#include stdio.h#include math.hmain() float a,b;scanf(%f,%f,&a,&b);if(fabs(a*a+b*b-1)99999999) place=9;else if(n9999999) place=8;else if(n999999) place=7;else if(n99999) place=6;else if(n9999) place=5;else if(n999) place=4;else if(n99) place=3;else if(n9) place=2;else place=1;printf(%
26、ldn,place);3.程序修改下列程序的功能為:輸入1個(gè)字母后,輸出該字母的前序字母、該字母、該字母的后序字母,例如:輸入g,則輸出fgh;輸入a,則輸出zab;輸入M,則輸出LMN;輸入Z,則輸出YZA。#include void main() char ch,c1,c2; printf(Enter a character:); ch=getchar(); if(ch=a)|(ch=A & a=Z) a=a+32;putchar(a);現(xiàn)在,題目要求處理5 個(gè)字符,怎么做呢?請(qǐng)自己思考5. 簡(jiǎn)單計(jì)算器下面程序是實(shí)現(xiàn)一個(gè)簡(jiǎn)單的運(yùn)算器(保留兩位小數(shù)點(diǎn)),如果由鍵盤(pán)輸入10+50,計(jì)算機(jī)可以輸
27、出結(jié)果60.00;如果輸入86,計(jì)算機(jī)輸出48.00;如果輸入20/4,計(jì)算機(jī)輸出5.00;如果輸入8-6,計(jì)算機(jī)輸出2.00,請(qǐng)?jiān)诳仗幪钌线m當(dāng)?shù)拇a,運(yùn)行通過(guò)后并提交。#include stdio.hmain() float a,b,c;char op;scanf(%f%c%f, );switch (op) case +: ;case -:;case *:;case /: ;default: printf(error);return ;printf(result= , c);6. 編寫(xiě)與調(diào)試程序輸入三角形的三邊長(zhǎng)a、b、c,求其面積三角形的面積公式為:Area=,其中S=(a+b+c)/2。
28、(要求判斷邊長(zhǎng)值的合法性與三角形的可構(gòu)成性)。參考程序:#include stdio.h#include math.h /數(shù)學(xué)函數(shù)庫(kù)頭文件void main()double a,b,c,s,area; printf (請(qǐng)輸入三角形三邊長(zhǎng):n);scanf(%lf,%lf,%lf,&a,&b,&c);if(a=0|b=0|cc & b+ca & a+cb) /任意兩邊之和對(duì)于第三邊s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c); /double sqrt(double x):求平方根值printf(area=%lfn,area);elseprintf(不能構(gòu)成
29、三角形!n);三、實(shí)驗(yàn)分析與總結(jié) 各實(shí)驗(yàn)運(yùn)行結(jié)果及分析。 程序1中誤差精度(設(shè)置為0.00001),怎樣修改程序?程序4中要求反序輸出大寫(xiě)字母,怎樣修改程序?四、相關(guān)實(shí)驗(yàn)程序列表1#include stdio.h#include math.hmain() float a,b;scanf(%f,%f,&a,&b);if(fabs(a*a+b*b-1)1e-3)printf(Yn);else printf(Nn);2#include main() int n,place;scanf(%ld,&n);if(n99999999) place=9;else if(n9999999) place=8;el
30、se if(n999999) place=7;else if(n99999) place=6;else if(n9999) place=5;else if(n999) place=4;else if(n99) place=3;else if(n9) place=2;else place=1;switch(place)case 9:printf(%ldn);break;case 8:printf(%ldn);break;case 7:printf(%ldn);break;case 6:printf(%ldn);break;case 5:printf(%ldn);break;case 4:prin
31、tf(%ldn);break;case 3:printf(%ldn);break;case 2:printf(%ldn);break;case 1:printf(%ldn);break;default:(enter date error!n);3#include void main() char ch,c1,c2; printf(Enter a character:); ch=getchar(); if(ch=b)&(ch=B)&(ch=Y) c1=ch-1; c2=ch+1; else if(ch=A)|(ch=a) c1=ch+25;c2=ch+1; else if(ch=Z)|(ch=z
32、) c2=ch-25;c1=ch-1;else printf(reEnter a character:); putchar(c1); putchar(ch); putchar(c2); putchar(n);4#includemain()char a,b,c,d,e;scanf(%c%c%c%c%c,&a,&b,&c,&d,&e);if(a=Z & a=A) a=a+32;if(a=Z & a=A) a=a+32;if(a=Z & a=A) a=a+32;if(a=Z & a=A) a=a+32;if(a=Z & a=A) a=a+32;printf(%c%c%c%c%c,a,b,c,d,e)
33、;5#include stdio.hint main() float a,b,c;char op;scanf(%f%c%f,&a,&op,&b);switch (op) case +:c=a+b;break;case -:c=a-b;break;case *:c=a*b;break;case /:c=a/b;break;default: printf(error);break;printf(result=%.2f,c);6#include stdio.h#include math.h /數(shù)學(xué)函數(shù)庫(kù)頭文件void main()double a,b,c,s,area; printf (請(qǐng)輸入三角形
34、三邊長(zhǎng):n);scanf(%lf,%lf,%lf,&a,&b,&c);if(a=0|b=0|cc & b+ca & a+cb) /任意兩邊之和對(duì)于第三邊s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c); /double sqrt(double x):求平方根值printf(area=%lfn,area);elseprintf(不能構(gòu)成三角形!n);五、實(shí)驗(yàn)心得通過(guò)這次學(xué)習(xí)我了解C 語(yǔ)言表示邏輯的方法,學(xué)會(huì)了正確使用邏輯運(yùn)算符和邏輯表達(dá)式,基本掌握了掌握if 語(yǔ)句和switch 語(yǔ)句,我會(huì)盡快熟悉它們,培養(yǎng)獨(dú)立思考的能力。實(shí)驗(yàn)六循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(一)一、實(shí)驗(yàn)?zāi)康?/p>
35、(1)熟悉掌握用while 語(yǔ)句、do-while 語(yǔ)句和for 語(yǔ)句實(shí)現(xiàn)循環(huán)的方法。(2)掌握在程序設(shè)計(jì)中用循環(huán)實(shí)現(xiàn)一些常用算法(如窮舉、迭代、遞推等)。二、實(shí)驗(yàn)內(nèi)容1.計(jì)算階乘輸入正整數(shù)n,計(jì)算n!,結(jié)果用長(zhǎng)整型數(shù)表示(注n!=1*2*3*.*n)。參考程序:#includemain() long i,n=1,a;scanf(%ld,&a);for(i=1;i=a;i+) n=n*i;printf(%ldn,n);2.計(jì)算數(shù)列和有數(shù)列1,3,5,7,9,11,現(xiàn)要求由鍵盤(pán)輸入n,計(jì)算輸出該數(shù)列的前n 項(xiàng)和。參考程序:#includemain() long n,sum=0,i,t=1;sca
36、nf(%ld,&n);for(i=1;i=n;i+) sum=sum+t;t=t+2;printf(%ldn,sum);或#include main() long n,sum;scanf(%ld,&n);sum=n*n;printf(%ld,sum);3.累加一行字符中的數(shù)字由鍵盤(pán)輸入一行字符(總字符個(gè)數(shù)從1個(gè)至100個(gè)均有可能,以回車(chē)符表示結(jié)束),將其中每個(gè)數(shù)字字符所代表的數(shù)值累加起來(lái),輸出結(jié)果。提示(1)可以使用下面程序段逐個(gè)讀入鍵盤(pán)輸入的一行字符char ch;while(ch=getchar()!=n)(2)數(shù)字字符轉(zhuǎn)為對(duì)應(yīng)的數(shù)值可用a=ch-0參考程序:#includemain()
37、char c;int s=0,a;while(c=getchar()!=n) if(c=0&c=9) a=c-48;s=s+a;printf(%d,s);4. 求最大公約數(shù)由鍵盤(pán)輸入兩個(gè)正整數(shù)m、n(m、n 用長(zhǎng)整數(shù)表示),計(jì)算它們的最大公約數(shù)。提示公約數(shù)是既能整除m 又能整除n 的數(shù),題目要求滿(mǎn)足這一條件的最大的一個(gè)。參考程序:#includemain() long r,m,n,temp;scanf(%ld,%ld,&m,&n);while(m!=0) r=n%m;n=m;m=r;printf(%ldn,n);或#includemain() long m,n,t,i,s;scanf(%ld,
38、%ld,&m,&n);t=mn?n:m;for (i=t;i=1;i-) if (m%i=0&n%i=0) s=i; break; printf(%d,s);5. 計(jì)算數(shù)列和有數(shù)列:,編程實(shí)現(xiàn),由鍵盤(pán)輸入n,計(jì)算輸出數(shù)列前n 項(xiàng)和。(結(jié)果保留四位小數(shù))。參考程序:#includemain() int i,t,n;float a=2,b=1,s=0;scanf(%d,&n);for(i=1;i=n;i+) s=s+a/b;t=a;a=a+b;b=t;printf(%.4fn,s);6. 百萬(wàn)富翁一個(gè)百萬(wàn)富翁遇到一個(gè)陌生人,陌生人找他談了一個(gè)換錢(qián)的計(jì)劃。該計(jì)劃如下:我每天給你m 元,而你第一天只需
39、給我一分錢(qián)。第二天我仍給你m 元,你給我2 分錢(qián)。第三天,我仍給你m 元,你給我4分錢(qián)。依次類(lèi)推,你每天給我的錢(qián)是前一天的兩倍,直到一個(gè)月(38)天。百萬(wàn)富翁很高興,欣然接受這個(gè)契約?,F(xiàn)要求,編寫(xiě)一個(gè)程序,由鍵盤(pán)輸入m,計(jì)算多少天后,百萬(wàn)富翁開(kāi)始虧錢(qián)。參考程序:#include #include main() int n,m,i;scanf (%d,&m);for (i=1;i=0) break;printf(%d,i-1);三、實(shí)驗(yàn)分析與總結(jié) 各實(shí)驗(yàn)運(yùn)行結(jié)果及分析。 程序2中將數(shù)列1,3,5,7,9,11,改為1,9,17,25,33,41,怎樣修改程序? 程序5中自己換一個(gè)數(shù)列(如:),怎
40、樣修改程序?四、相關(guān)實(shí)驗(yàn)程序列表1#includemain() long i,n=1,a;scanf(%ld,&a);for(i=1;i=a;i+) n=n*i;printf(%ldn,n);2#includemain() long n,sum=0,i,t=1;scanf(%ld,&n);for(i=1;i=n;i+) sum=sum+t;t=t+2;printf(%ldn,sum);#includemain() long n,sum=0,i,t=1;scanf(%ld,&n);for(i=1;i=n;i+) sum=sum+t;t=t+8;printf(%ldn,sum);3#include
41、main() char c;int s=0,a;while(c=getchar()!=n) if(c=0&c=9) a=c-48;s=s+a;printf(%d,s);4#includemain() long r,m,n,temp;scanf(%ld,%ld,&m,&n);while(m!=0) r=n%m;n=m;m=r;printf(%ldn,n);5#includemain() int i,t,n;float a=2,b=1,s=0;scanf(%d,&n);for(i=1;i=n;i+) s=s+a/b;t=a;a=a+b;b=t;printf(%.4fn,s);修改#includem
42、ain()int sign=1;int i,n;float a=1,b=1,s=0,pi=0;scanf(%d,&n);for(i=1;i=n;i+)pi=pi+s;s=s+a/b;b=b+3;s=s*(-sign);printf(%.4fn,s);6#include #include main() int n,m,i;scanf (%d,&m);for (i=1;i=0) break;printf(%d,i-1);五、實(shí)驗(yàn)心得通過(guò)這次學(xué)習(xí)我掌握了用while 語(yǔ)句、do-while 語(yǔ)句和for 語(yǔ)句實(shí)現(xiàn)循環(huán)的方法以及在程序設(shè)計(jì)中用循環(huán)實(shí)現(xiàn)一些常用算法,我感受到了算法在程序設(shè)計(jì)中的重要性。實(shí)
43、驗(yàn)七循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(二)一、實(shí)驗(yàn)?zāi)康模?)進(jìn)一步熟悉掌握用while 語(yǔ)句、do-while 語(yǔ)句和for 語(yǔ)句實(shí)現(xiàn)循環(huán)的方法。(2)掌握在程序設(shè)計(jì)中使用多重循環(huán)。二、實(shí)驗(yàn)內(nèi)容1.打印菱形由鍵盤(pán)輸入正數(shù)n,要求輸出2*n+1 行的菱形圖案。要求菱形左邊緊靠屏幕左邊。*參考程序:#include stdio.h#include math.hmain() int n,i,j,k;scanf(%d,&n);for(i=1;i=2*n+1;i+) k=abs(n+1-i);for(j=1;j=k;j+) printf( );for(j=1;j=2*n+1-2*k;j+) printf(*);prin
44、tf(n);2.找出滿(mǎn)足要求的數(shù)字輸出1 到9999 中能被7 整除,而且至少有一位數(shù)字是5 的所有數(shù)字。輸出時(shí)一行一個(gè)數(shù)字,且按由小到大的順序輸出。提示判斷一個(gè)數(shù)中是否有數(shù)字5,首先要掌握拆數(shù)字的方法,一種可行算法如下:一個(gè)整數(shù)a,使用a%10,可以得到a 的個(gè)位數(shù),然后使用a=a/10,可以將a 中的個(gè)位數(shù)字除去,上述過(guò)程重復(fù)則可以得到原數(shù)a 中其它位上的數(shù)字。參考程序:#include stdio.hmain() int i, j;for(i=7; i=9999; i=i+7) j=i;while(j!=0) if(j%10=5) break;j=j/10;if(j!=0) printf
45、(%dn, i);3.求水仙花數(shù)輸出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個(gè)3位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。如:153=13+53+33。三、實(shí)驗(yàn)分析與總結(jié) 各實(shí)驗(yàn)運(yùn)行結(jié)果及分析。四、相關(guān)實(shí)驗(yàn)程序列表1#include stdio.h#include math.hmain() int n,i,j,k;scanf(%d,&n);for(i=1;i=2*n+1;i+) k=abs(n+1-i);for(j=1;j=k;j+) printf( );for(j=1;j=2*n+1-2*k;j+) printf(*);printf(n);2#include stdio.hmain() int
46、 i, j;for(i=7; i=9999; i=i+7) j=i;while(j!=0) if(j%10=5) break;j=j/10;if(j!=0) printf(%dn, i);3#include void main() int i,j,k,n; printf(water flower numbles is;); for (n=100;n1000;n+) i=n/100; j=(n-i*100)/10; k=n%10; if(n=i*i*i+j*j*j+k*k*k) printf(%dn,n); 五、實(shí)驗(yàn)心得通過(guò)這次學(xué)習(xí)我鞏固了上次學(xué)到的用while 語(yǔ)句、do-while 語(yǔ)句和f
47、or 語(yǔ)句實(shí)現(xiàn)循環(huán)的方法,基本學(xué)會(huì)了在程序設(shè)計(jì)中使用多重循環(huán)。實(shí)驗(yàn)八 數(shù) 組一、實(shí)驗(yàn)?zāi)康模?)掌握一維數(shù)組和二維數(shù)組的定義、賦值和輸入輸出方法。(2)掌握與數(shù)組有關(guān)的算法。(3)掌握字符數(shù)組和字符串函數(shù)的使用。二、實(shí)驗(yàn)內(nèi)容1.倒序由鍵盤(pán)輸入10 個(gè)整數(shù),倒序輸出。(數(shù)字間由一個(gè)空格分隔)。2.打印矩陣由鍵盤(pán)輸入一個(gè)34 的矩陣,要求輸出它的轉(zhuǎn)置矩陣。參考程序:#includemain() int a34,b43,i,j;for(i=0;i3;i+)for(j=0;j4;j+) scanf(%d,&aij);bji=aij;for(i=0;i4;i+) for(j=0;j3;j+)printf(
48、%d ,bij);printf(n);3.冒泡排序由鍵盤(pán)輸入10 個(gè)數(shù),用“冒泡法”對(duì)10 個(gè)數(shù)從小到大排序,并按格式要求輸出。代碼如下,請(qǐng)?zhí)畛渫暾?。?shù)字間由一個(gè)空格分隔。#incude stdio.hmain() int a10, i, j, t;for(i=0;i10;i+)scanf(%d,_) ;for( _) for(j=0;j_;j+)if (_)_for(i=0;i10;i+)printf(%d ,ai);參考程序:#includemain() int a10;int i,j,t;for(i=0;i10;i+)scanf(%d,&ai);for(i=0;i9;i+) for(j=
49、0;jaj+1) t=aj; aj=aj+1; aj+1=t; for(i=0;i10;i+)printf(%d ,ai);4.統(tǒng)計(jì)不同數(shù)字個(gè)數(shù)由鍵盤(pán)輸入20 個(gè)整數(shù),統(tǒng)計(jì)不同數(shù)字的個(gè)數(shù)。參考程序:#includestdio.hmain() int a20;int i,t,p=0;for(i=0;i20;i+) scanf(%d,&ai);for(t=0;t=0;i-) an1-1-i=si-0;gets(s);n2=strlen(s);for(i=n2-1;i=0;i-) bn2-1-i=si-0;if(n1n2) max=n1;else max=n2;for(i=0;i0) printf(
50、%d,cmax);for(i=max-1;i=0;i-)printf(%d,ci);三、實(shí)驗(yàn)分析與總結(jié) 各實(shí)驗(yàn)運(yùn)行結(jié)果及分析。(2)程序1中改為n個(gè)數(shù),怎樣修改程序?四、相關(guān)實(shí)驗(yàn)程序列表1#includestdio.h#includemath.hmain() int a10;int i;for(i=0;i=0;i-)printf(%dn,ai);return 0;2#includemain() int a34,b43,i,j;for(i=0;i3;i+)for(j=0;j4;j+) scanf(%d,&aij);bji=aij;for(i=0;i4;i+) for(j=0;j3;j+)prin
51、tf(%d ,bij);printf(n);3#includemain() int a10;int i,j,t;for(i=0;i10;i+)scanf(%d,&ai);for(i=0;i9;i+) for(j=0;jaj+1) t=aj; aj=aj+1; aj+1=t; for(i=0;i10;i+)printf(%d ,ai);4#includestdio.hmain() int a20;int i,t,p=0;for(i=0;i20;i+) scanf(%d,&ai);for(t=0;t=0;i-) an1-1-i=si-0;gets(s);n2=strlen(s);for(i=n2-
52、1;i=0;i-) bn2-1-i=si-0;if(n1n2) max=n1;else max=n2;for(i=0;i0) printf(%d,cmax);for(i=max-1;i=0;i-)printf(%d,ci);五、實(shí)驗(yàn)心得通過(guò)這次學(xué)習(xí)我掌握了與數(shù)組有關(guān)的算法以及字符數(shù)組和字符串函數(shù)的使用。明白了一維二維數(shù)組的使用方法,我會(huì)繼續(xù)努力。實(shí)驗(yàn)九字符數(shù)組的應(yīng)用一、實(shí)驗(yàn)?zāi)康模?)掌握字符數(shù)組和字符串函數(shù)的使用。(2)掌握與字符串處理有關(guān)的算法。二、實(shí)驗(yàn)內(nèi)容1.定義存貯字符串的字符數(shù)組#include string.hvoid main() char s80; /*定義字符數(shù)組s*/strc
53、py(s, abcdefghijklmn);printf(%s, s);2.字符串的輸入與輸出下面程序?qū)崿F(xiàn)從鍵盤(pán)讀入字符串,然后輸出到屏幕,請(qǐng)?zhí)畛浔匾恼Z(yǔ)句。#include stdio.hvoid main()char s50;printf(Whats your name?);gets(s); /*由鍵盤(pán)讀入字符串*/printf(Your name is , );printf(%s, s); /*打印字符串*/3.字符串的合并從鍵盤(pán)輸入3 個(gè)字符串(每個(gè)字符串以回車(chē)符做為結(jié)束標(biāo)志),將3 個(gè)字符串以輸入先后順序合并到字符串s中,請(qǐng)?zhí)羁帐褂贸绦蛲暾?include stdio.h#incl
54、ude string.hmain()char s100=;char a30;gets(a); strcat(s, a);gets(a); strcat(s, a);gets(a); strcat(s, a);/*可以寫(xiě)多行代碼*/printf(%s, s);4.回文串讀入一行字符串(不多于80 個(gè)字符,以回車(chē)結(jié)束),判斷該字符串是否為回文串(即從左向右拼寫(xiě)與從右向左拼寫(xiě)是一樣的),是輸出Y,否則輸出N。參考程序:#include stdio.h#include string.hmain() int i, len;char buf100;gets(buf);len = strlen(buf);f
55、or(i=0; i=len/2)printf(Y);elseprintf(N);5.尋找字符串由鍵盤(pán)輸入兩個(gè)字符串(假設(shè)第一個(gè)字符串必包含第二個(gè)字符串,如第一個(gè)字符串為ABCDEF,第二個(gè)為CDE,則CDE 包含在A(yíng)BCDEF 中),現(xiàn)要求編程輸出第二字符串在第一行字符串中出現(xiàn)的位置。(如果第二個(gè)字符串在第一個(gè)字符串中出現(xiàn)多次,則以最前出現(xiàn)的為準(zhǔn))提示方法1:建立雙重循環(huán),外層循環(huán)變量指示第一個(gè)串的查找起始位置,內(nèi)層循環(huán)從起始位置開(kāi)始判斷第二個(gè)字符中是否出現(xiàn)在此處;方法2:使用字符串函數(shù)strstr()。參考程序:#include stdio.hmain() int i,j;char a80,
56、 b80;gets(a); gets(b);for(i=0;ai!=0;i+) for(j=0;bj!=0;j+)if(ai+j!=bj) break;if(bj=0) break;if (ai!=0) printf(%d,i+1);else printf(Not Found);三、實(shí)驗(yàn)分析與總結(jié) 各實(shí)驗(yàn)運(yùn)行結(jié)果及分析。四、相關(guān)實(shí)驗(yàn)程序列表1#include stdio.hvoid main() char s80=a,b,c,d,e,f,g,h,i,g,k,l,m,n; /*定義字符數(shù)組s*/scanf(%s, abcdefghijklmn);printf(%s, s);2#include s
57、tdio.hvoid main()char s50;printf(Whats your name?);gets(s); /*由鍵盤(pán)讀入字符串*/printf(Your name isn);printf(%s, s); /*打印字符串*/3#include stdio.h#include string.hmain()char s100=;char a30;gets(a); strcat(s, a);gets(a); strcat(s, a);gets(a); strcat(s, a);/*可以寫(xiě)多行代碼*/printf(%s, s);4#include stdio.h#include strin
58、g.hmain() int i, len;char buf100;gets(buf);len = strlen(buf);for(i=0; i=len/2)printf(Y);elseprintf(N);5#include stdio.hmain() int i,j;char a80, b80;gets(a); gets(b);for(i=0;ai!=0;i+) for(j=0;bj!=0;j+)if(ai+j!=bj) break;if(bj=0) break;if (ai!=0) printf(%d,i+1);else printf(Not Found);五、實(shí)驗(yàn)心得通過(guò)這次學(xué)習(xí)我明白了字
59、符數(shù)組和字符串函數(shù)的使用以及字符串處理有關(guān)的算法。掌握了字符數(shù)組和字符串函數(shù)的使用。我會(huì)更加努力。實(shí)驗(yàn)十函數(shù)的基本應(yīng)用一、實(shí)驗(yàn)?zāi)康模?)掌握定義函數(shù)的方法。(2)掌握函數(shù)實(shí)參與形參的對(duì)應(yīng)關(guān)系,以及“值傳遞”的方式。(3)掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法。(4)掌握全局變量和局部變量、動(dòng)態(tài)變量、靜態(tài)變量的概念和使用方法。二、實(shí)驗(yàn)內(nèi)容1.函數(shù)定義下面是使用輾轉(zhuǎn)相除法,求最大公約數(shù)的程序,請(qǐng)補(bǔ)充完整程序中函數(shù)的定義與調(diào)用。#include stdio.hint f(int m, int n)int r;while (r=m%n)!=0)m=n;n=r;return n;main()int a, b
60、, n;scanf(%d%d, &a, &b);printf(%dn, f(a, b) );2.編寫(xiě)函數(shù)計(jì)算階乘下面程序?qū)崿F(xiàn)由鍵盤(pán)讀入整數(shù)n,計(jì)算并輸出n!,請(qǐng)補(bǔ)充完整計(jì)算階乘的函數(shù)。#include stdio.hlong fanc(int a) long i,n=1;for(i=1;i=a;i+) n=n*i;return n;main() int n;scanf(%d, &n);printf(%ld, fanc(n);3.函數(shù)中的變量寫(xiě)出下面程序的運(yùn)行結(jié)果:int f1(int x) static int z=3,y=0;y+;z+;return(x+y+z);main() int a=
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業(yè)合作利潤(rùn)分成協(xié)議
- 信息網(wǎng)絡(luò)經(jīng)銷(xiāo)商合同
- 商鋪轉(zhuǎn)讓合同協(xié)議書(shū)范本
- 高效員工勞動(dòng)合同模板
- 旅行社轉(zhuǎn)讓協(xié)議書(shū)
- 統(tǒng)編版四年級(jí)上冊(cè)語(yǔ)文9 古詩(shī)三首 《暮江吟》 公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 標(biāo)準(zhǔn)離婚協(xié)議書(shū)樣式示例
- 房屋動(dòng)拆遷協(xié)議書(shū)編寫(xiě)指南
- 建筑工程公司項(xiàng)目合作風(fēng)險(xiǎn)評(píng)估
- 個(gè)人民房買(mǎi)賣(mài)合同樣本
- 2024年度信息化教學(xué)校本研修實(shí)施方案
- 2024年江蘇蘇州市(12345)便民服務(wù)中心招聘座席代表人員高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 2024年湖南省長(zhǎng)沙市中考?xì)v史試卷真題(含答案解析)
- 2024年中移建設(shè)限公司安徽分公司社會(huì)招聘12人高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 2024秋期國(guó)家開(kāi)放大學(xué)《政治學(xué)原理》一平臺(tái)在線(xiàn)形考(形考任務(wù)二)試題及答案
- 石料倉(cāng)儲(chǔ)合同范本
- 第1-4單元期中核心素質(zhì)檢測(cè)卷(試題)-2024-2025學(xué)年數(shù)學(xué)三年級(jí)上冊(cè)北師大版
- 變配電運(yùn)維知識(shí)考試題(含參考答案)
- 摩托車(chē)維修技術(shù)考核試卷
- 6 我的家庭貢獻(xiàn)與責(zé)任(教學(xué)設(shè)計(jì)) 部編版道德與法治四年級(jí)上冊(cè)
- 2024年浙江省寧波市初二上學(xué)期期中歷史試題及解答參考
評(píng)論
0/150
提交評(píng)論