第一篇:c語言實驗報告
實驗一 熟悉C語言程序的運行環境
一、實驗目的
1、了解在該系統上如何編輯、編譯、連接和運行一個C 程序;
2、通過運行簡單的C程序,初步了解C程序的特點。
二、實驗預習
1、認真閱讀簡單的C程序介紹,C程序上機步驟部分內容;
2、編寫好所需要的程序,程序的書寫應該清楚整潔,一般檢查應該是沒有明顯的錯誤。
如果在程序中有疑問的地方,可以標記起來,以便于上機調試時予以注意。初學者特別忌諱
上機前自己不編寫程序,到時隨便地抄別人的程序。
三、實驗指導
1、輸入并運行一個簡單的程序,從而熟悉所用系統的上機方法與步驟。(1)選擇File->New,使編輯窗口變成空白(2)輸入下面的程序(例題1.1)#include
(4)如果編譯無錯誤,按【Ctrl+F9】鍵使程序運行,按【Alt+F5】鍵,切換到用戶 屏,觀察分析運行結果。
2、輸入并運行一個需要在運行時輸入數據的程序(1)清空編輯窗口,輸入下面的程序(例題1.2)。#include
四、實驗內容
1、在C 編輯環境下編輯實驗指導中給出的程序、編譯并運行。
2、試編寫一程序完成如下信息的顯示。********************************** “How are you!” **********************************
3、編寫一個C 程序(習題1.6):輸入a, b, c 三個值,輸出其中最大者。根據上述題目要求編程并上機調試運行。
五、實驗報告要求
實驗結束后,應整理實驗報告,其內容應包括:
1、實驗題目
2、設計思路
3、寫出程序源代碼
4、寫出程序運行結果
5、對實驗結果進行分析、總結
六、設計思路
1.5題:以main為主函數,對三條語句進行編碼,分別輸出,即可達到所要求的結果。1.6題:以main為主函數,先輸入三個整形十進制數,任取其一,與其它兩個中的任一進行對比,取其最大,再與剩余的一個進行對比,可得最大。
七、源程序清單 1.5題:
#include
printf(“n**********************n”);printf(“ ”how are you“n”);printf(“**********************n”);} 1.6題:
#include 八、分析、總結、及心得 通過本次實驗讓我學會c程序的編寫應注意的一些細節,理解一些簡單程序的編寫方法。 實驗二 數據類型,運算符與表達式 一、實驗目的 1、掌握C 語言數據類型,以及對它們賦值的方法; 2、掌握不同的數據類型之間賦值的規律; 3、學會使用C 的有關算術運算符,以及包含這些運算符的表達式,特別是自加和自減運算符的使用; 4、進一步熟悉C 程序的編輯、編譯、連接和運行的過程。 二、實驗預習 1、認真閱讀教材數據類型,算術運算符和表達式,賦值運算符和表達式部分內容。 三、實驗指導 1、輸入并運行下面的程序: #include (1)將一個負整數賦給一個無符號的變量,會得到什么結果。 (2)將一個大于32767 的長整數賦給整形變量,會得到什麼結果。 (3)將一個長整數賦給無符號的變量,會得到什麼結果(分別考慮該長整數的值大于或等于65535 以及小于65535 的情況)。 同學們可以改變程序中各變量的值,以便比較。例如: a = 65580, b =-40000, e = 65535,f = 65580。 2、輸入下面程序: #include (4)在(3)的基礎上,將printf 語句改為: printf(“%d,%d”, ++i, ++j);運行并分析結果。(5)再將printf 語句改為: printf(“%d,%d,%d,%d”, i, j, i++, j++);運行并分析結果。(6)將程序改為: #include 四、實驗內容 1、在C 編輯環境下編輯實驗指導中給出的程序、編譯并運行。 2、試編一程序實現輸入長寬高,計算長方體的表面積。 3、按習題3.7 的要求編程序并上機運行,該題的要求是: 要將“China”譯成密碼,譯碼規律是:用原來字母后面的第4個字母代替原來的字母。例如,字母“A”后面第4 個字母是“E”,用“E”代替“A”。因此,“China”應譯為“Glmre”。請編一程序,用賦初值的方法使c1、c2、c3、c4、c5 五個變量的值分別為’C’、’h’、’i’、’n’、’a’,經過運算,使c1、c2、c3、c4、c5 分別變為’G’、’l’、’m’、’r’、’e’、,并輸出。 (1)輸入編好的程序,并運行該程序。分析是否符合要求。 五、實驗結果 1題: (1):100,-100 100,65436 100,65436(2):-15536,32767(3):5000,32767 2題: (1):9,119,10(2):9,11,8,11(3):8,10(4):9,11(5):9,11,8,10(6):i=9,j=9,m=8,n=-9 六、源程序清單 四.2題 #include #include 七、分析、總結、及心得 通過本次的實驗,熟悉如何定義一個整型、字符型和實型的變量,掌握算術運算符的使用,以及包含這些運算符的表達式,特別是自加和自減運算符的使用,學會一些簡單程序編寫所注意的問題。 實驗三 簡單C程序設計 一、實驗目的 1、掌握C 語言中賦值語句的使用方法; 2、掌握不同類型數據的輸入輸出方法,能正確使用各種格式轉換符; 二、實驗預習 1、認真閱讀數據的輸入輸出部分內容。 三、實驗指導 1、從鍵盤輸入兩個0 到127 的整數,求兩數的平方差并輸出其值以及這兩個整數的ASCII 碼對應的字符。 (1)算法分析:標準ASCII 碼值范圍是0 到127,所以在這范圍內的數可以以字符形式輸出,實現方法是用格式輸出函數并用格式符c 控制輸出。(2)根據結果書寫源程序 #include 注意輸入時兩數間應以空格間隔,不能用逗號,只有源程序輸入函數中兩格式符以逗號間隔時輸入才可以是:100,50↙(6)查看結果【Alt+F5】 2、輸入程序 #include (2)在此基礎上,修改程序的第7~11 行: a=61;b=62;c1=a;c2=b;f=3157.890121;g=0.123456789 d=f;e=g;p=a=m=50000;q=b=n=-60000;運行程序,分析結果。(3)將printf 語句改為: printf(“a=%d,b=%dnc1=%c,c2=%cnd=%15.6f,e=%15.12fn”,a,b,c1,c2,d,e);printf(“f=%f,g=%fnm=%d,n=%dnp=%d,q=%dn”,f,g,m,n,p,q);運行程序,分析結果。 (4)將p、q 改用%o 格式符輸出。運行程序,分析結果。 四、實驗內容 1、在C 編輯環境下編輯實驗指導中給出的程序、編譯并運行。 2、本節實驗題目: (1)若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b'。想得到以下的輸出格式和結果,請寫出程序。要求輸出結果如下:(注意空格的輸出)a= 3 b= 4 c= 5 x=1.200000,y=2.400000,z=-3.600000 x+y= 3.60 y+z=-1.20 z+x=-2.40 u= 51274 n= 128765 c1='a' or 97(ASCII)c2='B' or 98(ASCII)(2)假設m是一個三位數,試編寫一程序完成將m的個位,十位,百位反序輸出(例如:123反序輸出為321)。 五、實驗結果 三、1: d,2,7500 2、(1): a=61,b=62 c1=a,c2=b d= 3.56,e=-6.87 f= 3157.890121,g= 0.123456789000 m=50000,n=-60000 p=32768,q=40000(2): a=-15536,b=5536 c1==,c2=> d=3157.89,e= 0.12 f= 3157.890121,g= 0.123456789000 m=50000,n=-60000 p=50000,q=5536(3): c1==,c2=> d= 3157.890137,e= 0.123456791043 f=3157.890121,g=0.123457 m=-15536,n=0 p=5536,q=-1(4): a=15536,b=5536 c1==,c2=> d= 3157.890137,e= 0.123456791043 f=3157.890121,g=0.123457 p=12640,q=177777 六、源程序清單 2(1): #include }(2:)#include } 七、分析、總結、及心得 在本次實驗中,學會了賦值語句的使用方法,不同類型數據的輸入輸出,尤其是某些空格應特別注意,了解了在scanf語句中不能用n,這也是我一直犯的錯誤。 實驗四 選擇結構程序設計 一、實驗目的 1、學會正確使用邏輯運算符及邏輯表達式; 2、熟練掌握if 語句與switch 語句; 二、實驗預習 1、認真閱讀if 語句和switch 語句部分內容。 2、編寫好所需要的程序。 三、實驗指導 1、輸入三角形的三邊長,判斷這個三角形是否是直角三角形。 (1)算法分析:直角三角形斜邊最長,要先找出三邊中最長的邊,判斷最長邊的平方 是否等于其余兩邊的平方和,若相等就是直角三角形。根據分析結果書寫源程序。#include t=a; a=b; b=t;}/* a 中放a,b 中較長邊*/ if(a t=a; a=c; c=t;}/* a 中放a,b,c 中的最長邊*/ if(a*a==b*b+c*c) printf(“Y”);else printf(“N”);}(2)編輯源程序(3)編譯【F9】,直到沒有錯誤。(4)運行【Ctrl+F9】,輸入: 3,4,5↙ (5)查看結果【Alt+F5】,輸出: Y 四、實驗內容 1、在C 編輯環境下編輯實驗指導中給出的程序、編譯并運行。 2、本節實驗題目: (1)給出一個百分制成績,要求輸出成績等級A、B、C、D。90 分以上為A,80~89分為B,70~79 分為C,60~69 分為D,60 分以下為E。 ①事先編好程序,要求分別用if 語句和switch 語句實現。運行程序,并檢查結果是否正確。 ②再運行一次程序,輸入分數為負值(如-70),這顯然是輸入時出錯,不應給出等級。 ③修改程序,使之能正確處理任何數據。當輸入數據大于100 或小于0 時,通知用戶“輸入數據錯”,程序結束。 (2)給出一個不多于5位的正整數,要求:①求出它是幾位數。②分別打印出每一位數。③按逆序打印出各位數字。 五、簡述編程思路 2.1.1首先寫一段程序(switch語句)來對不是所要求的輸入的判斷與執行,其次寫出主要要執行的語句對于switch要求用break跳出,if則不同,六、源程序清單 2.1.1:(用switch)#include scanf(“%f”,&a);} switch((int)a/10){ case 0: case 1: case 2: case 3: case 4: case 5:b='E';break; case 6:b='D';break; case 7:b='C';break; case 8:b='B';break; case 9: case 10:b='A';} printf(“b=%cn”,b); } 2.1.2:(用if) #include scanf(“%f”,&a);} if(a>=0&&a<60) b='E';else if(a>=60&&a<70) b='D';else if(a>=70&&a<80) b='C';else if(a>=80 &&a<90) b='B';else b='A'; printf(“b=%cn”,b); } 2.2: #include } 七、實驗心得 通過本次實驗,明白了if和switch的聯系,以及長整形在打印時注意的地方,學會使用邏輯運算符及邏輯表達式。 實驗五 循環控制 一、實驗目的 1.熟練掌握for 語句、while 語句、do-while 語句實現循環的方法; 2.理解循環嵌套及其使用方法; 3.掌握break 語句與continue 語句的使用; 4.掌握用循環實現一些常用算法(如窮舉、迭代、遞推等)。 二、實驗預習1.認真閱讀本章教材中循環控制部分.2.編寫好所需要的程序。 三、實驗指導 1.打印如下圖案 * * * * * * * * * * * * * * * * (1)算法分析:從圖案中找出行數,空格數,星號數間的關系如下: 行數空格數星號數 1 3 1 2 2 3 3 1 5 4 0 7 i 4-i 2*i-1 可用雙重循環控制整個圖案的輸出。若用循環變量i,j 分別控制外層,內層循環,則 i 的取值從1 到4,表示行數,在每行中要確定前面空格個數和星號個數,空格個數是4-i,星號個數是2*i-1。 (2)根據分析結果寫出源程序 #include (6)查看結果【Alt+F5】。輸出題目要求的圖案。 四、實驗內容 1.在C 編輯環境下編輯實驗指導中給出的程序,編譯并運行。2.要求學生獨立完成如下題目: (1)輸出100到1000之間的所有水仙花數。所謂水仙花數是指一個三位數,其各位數字立方和等于該數本身。 (2)輸入一行字符,分別統計出其中英文字母、空格、數字 和其他字符的個數。 (3)試利用圖形函數完成極坐標函數ρ=cos(3*X)圖像的繪制。【進階題目,選做】 根據以上題目要求編程并上機調試運行。 五、編程思路 2(1)對一個數字每一位的輸出的前提下在利用一個if語句即可。2(2)先明白英文字母、空格、數字的ASCII,在用if函數即可。 六、程序運行結果 2(1): #include printf(“%dn”,a); a++;} }(2): #include if(c>=65&&c<=90||c>96&&c<=122) i++; else if(c>=48&&c<=57) j++; else if(c==32) k++; else l++;} printf(“i=%d,j=%d,k=%d,l=%dn”,i,j,k,l); }(3): #include int main(){ int gdriver, gmode;float p,x,px,py,zx,zy;gdriver=VGA;gmode=VGAHI;initgraph(&gdriver, &gmode, “c: c”);for(x=0;x<=2*PI;x+=0.01){ p=cos(3*x); zx=p*cos(x); zy=p*sin(x); px=320+zx*100; py=240-zy*100; putpixel(px,py,14);} getch();closegraph();return 0;} 七、實驗總結、心得 通過本次實驗,理解了一些循環語句的選擇、運用,對一些簡單循環的嵌套有了更進一步的理解。 《Matlab語言》實驗(報告)題庫 1、TDOA信號分析類 (1)已給出一段事先采集的信號,該信號為進行TDOA定位使用的基本信號,其格式為GPS+IQ + GPS+IQ …,即每包數據由GPS頭文件和IQ信號構成,GPS頭文件共58B,其數據格式為 $HT,20130114,084556,N3606.82273,E10343.59311,M1538.7,11,0*,每包IQ數據共8192B,其數據格式為I0,Q0,I1,Q1,I2,Q2…,I2047,Q2047,即I數據2048點、Q數據2048點交叉出現。換言之,每包數據實際內容為:$HT,20130114,084556,N3606.82273,E10343.59311,M1538.7,11,0* I0 Q0 I1 Q1 I2 Q2 … I2047 Q2047,程序前期已實現讀取IQ數據文件并進行關鍵信息讀取分解,請根據程序提醒,完成相關功能(數據及程序見“1-實際IQ信號實驗”文件夾)。 2、TDOA時差估計仿真類 (2)在TDOA定位技術中,時差估計是一個非常重要的環節。自行仿真2個具有一定時差的信號,用廣義互相關法(GCC)計算該2個信號的時差,并與設定時差進行對比分析(需給出詳細過程及適當的仿真圖)。 (3)在TDOA定位技術中,時差估計是一個非常重要的環節。自行仿真2個具有一定時差的信號,用互模糊函數法計算該2個信號的時差,并與設定時差進行對比分析(需給出詳細過程及適當的仿真圖)。 (4)在TDOA定位技術中,時差估計是一個非常重要的環節。自行仿真2個具有一定時差的信號,用廣義互相關(GCC)結合多項式擬合方法計算該2個信號的時差,并比較廣義互相關法估計時差和廣義互相關結合多項式擬合方法估計時差的結果,進行分析(需給出詳細過程及適當的仿真圖)。 (5)在TDOA定位技術中,時差估計是一個非常重要的環節。自行仿真2個具有一定時差的信號,自選方法計算該2個信號的時差,并與設定時差進行對比分析(需給出詳細過程及適當的仿真圖)。 3、TDOA時差估計實測類 下面三題使用“3-TDOA實測類-數據”。 (6)在TDOA定位技術中,時差估計是一個非常重要的環節。根據提供的TDOA數據,用廣義互相關(GCC)計算該2路信號的時差,統計每包數據計算結果,并分析之(需給出詳細解決過程及適當的分析圖)。 (7)在TDOA定位技術中,時差估計是一個非常重要的環節。根據提供的TDOA數據,用廣義互相關(GCC)結合多項式擬合方法計算該2路信號的時差,比較廣義互相關法估計時差和廣義互相關結合多項式擬合方法估計時差的結果,并分析之(需給出詳細解決過程及適當的分析圖)。 (8)在TDOA定位技術中,時差估計是一個非常重要的環節。根據提供的TDOA數據,自選方法計算該2路信號的時差,統計每包數據計算結果,并分析之(需給出詳細解決過程及適當的分析圖)。 4、信號頻域分析類 (9)生成一個帶有噪聲的正弦波信號,信號的頻率、幅度,噪聲的幅度自行設定。(將帶有噪聲的正弦信號放入for循環中,利于pause,實現噪聲動態變化效果,并在for循環內畫出其時域圖和幅頻圖(采樣率和采樣點數自行設定),觀察動態變化情況),最后總結系統采樣率和采樣點數對仿真信號效果的影響。 (10)自行生成一段時域信號,要求在不同的時間,信號具有不同的頻率(即非平穩信號),用短時傅里葉變換對其進行時頻分析,并呈現時頻分析結果。 (11)自行生成一段時域信號,要求在不同的時間,信號具有不同的頻率(即非平穩信號),用小波變換對其進行時頻分析,并呈現時頻分析結果。 5、信號調制解調類 (12)自行產生正弦信號作為基帶信號、載波,試合成AM信號,在AM信號上加高斯白噪聲,并將AM信號解調,畫出各信號(基帶信號、載波、合成的AM信號、解調后的基帶信號)時域圖及頻譜圖,并對比總結解調效果。 (13)自行產生正弦信號作為基帶信號、載波,試合成FM信號,在FM信號上加高斯白噪聲,并將FM信號解調,畫出各信號(基帶信號、載波、合成的FM信號、解調后的基帶信號)時域圖及頻譜圖,并對比總結解調效果。 (14)自行產生一個正弦信號,以此為載波,生成一段2ASK信號,其中數字序列隨機生成,畫出數字基帶序列、正弦信號、2ASK信號的時域圖。 (15)自行產生兩個不同頻率的正弦信號,以此為載波,生成一段2FSK信號,其中數字序列隨機生成,畫出數字基帶序列、兩個正弦信號、2FSK信號的時域圖。 (16)用Matlab模擬通信系統收發過程,要求:發射站發射FM調制信號,接收站接收該信號,并進行解調,系統參數及傳播環境/過程參數自定。 6、信號分離類 (17)自行生成一個含有3個頻率(信號頻率相近,如200Hz,210Hz,300Hz)的信號,其他參數自定,直接用FFT難以將不同頻率信號,尤其頻率較近的信號進行分離,試用AR等高階功率譜方法,將該信號進行分離,并繪制分離前后的頻譜圖(即信號的FFT圖、信號的AR分離圖)。 (18)自行生成一個含有不同頻率或不同相位的信號,直接用FFT難以將不同頻率信號,尤其頻率較近或同頻率不同相位的信號進行分離,試用MUSIC方法,將該信號進行分離,并繪制分離前后的頻譜圖(即原信號的FFT圖、信號的MUSIC分離圖),并總結現象。 (19)自行產生一段含有低頻、高頻和噪聲成分的信號,嘗試設計不同的濾波器,將高頻信號及噪聲濾掉,并繪制濾波前后的信號對比圖(含時域、頻域圖)。 7、深度學習類 (20)設計一個神經網絡(可以是任意類型的神經網絡),對手寫數字進行分類,要求小組內每個成員至少每人手寫一個數字,然后識別,并分析識別準確率。 (21)自行找一個預訓練好的網絡,對日常生活物品進行識別,要求小組內每個成員拍照1~2個物品,通過網絡進行識別,并分析識別效果。 學號:__________ 姓名:__________ 班級:__________ 日期:__________ 指導教師:__________ 成績:__________ 實驗一 上機操作初步和簡單的C程序設計 一、實驗目的1、熟悉C語言運行環境Turbo C++3.02、會簡單的程序調試 3、熟悉C語言各種類型數據的輸入輸出函數的使用方法 4、掌握順序結構程序設計 二、實驗內容 1、上機運行本章3個例題,熟悉所用系統的上機方法與步驟。(習題1.7) 2、編寫一個C程序,輸入a、b、c 3個值,輸出其中最大者。(習題1.6) 3、設圓半徑r=1.5,圓柱高h=3,求圓周長、圓面積、圓球表面積、圓球體積、圓柱體積。用scanf輸入數據,輸出計算結果,輸出時要求有文字說明,取小數點后2位數字。注意:在Trubo C++ 3.0中不能輸入漢字,只能輸入英文或拼音。(習題4.8) 4、運行如下程序,寫出運行結果。第一┆范文網www.tmdps.cn整理該文章,版權歸原作者、原出處所有...#include void main() { int a=1,b=2; a=a+b;b=a-b;a=a-b; printf(“%d,%dn”,a,b); } 三、實驗步驟與過程 四、程序調試記錄 C語言程序設計(B) (2010-2011-2) 實驗報告 教學班級: 學號: 姓名: 課程教師: 實驗輔導教師: 江西理工大學 自由編輯的程序 一、實驗前的源程序: //任意整數的疊加 #include 實驗錯誤報告: [Error] D:Program FilesC-Free 4temp未命名10.cpp:7: parse error before `for' [Error] D:Program FilesC-Free 4temp未命名10.cpp:7: parse error before `)' 構建中止 未命名10: 2 個錯誤, 0 個警告 實驗后的源程序: //任意整數的疊加 #include int i,j,sum=0;printf(“please input a int numbern”);scanf(“%d”,&j);for(i=0;i<=j;i++)sum=sum+i;printf(“此數的疊加=%dn”,sum);} 二、實驗前的源程序: /*小寫字母轉大寫字母*/ #include 江西理工大學 } c2='s';c1=c1-32;c2=c2-32;printf(“%c,%cn”,c1,c); 實驗錯誤報告: [Error] D:Program FilesC-Free 4temp未命名11.cpp:9: `c' undeclared(first use this function)[Error] D:Program FilesC-Free 4temp未命名11.cpp:9:(Each undeclared identifier is reported only once [Error] D:Program FilesC-Free 4temp未命名11.cpp:9: for each function it appears in.)構建中止 未命名11: 3 個錯誤, 0 個警告 實驗后的源程序: /*小寫字母轉大寫字母*/ #include 三、實驗前的源程序: /*查看某一年是否為閏年*/ #include { if(year%100==0) { if(year%400==0) i=1; else 江西理工大學 i=0; } else i=1; } else i=0;if(i) printf(“%d 是閏年n”,year);else printf(“%d 不是閏年n”,year);} 實驗錯誤報告: [Error] D:Program FilesC-Free 4temp未命名14.cpp:15: parse error before `else' [Error] D:Program FilesC-Free 4temp未命名14.cpp:25: parse error at end of input 構建中止 未命名14: 2 個錯誤, 0 個警告 實驗后的源程序: /*查看某一年是否為閏年*/ #include { if(year%100==0) { if(year%400==0) i=1; else i=0; } else i=1; } else i=0;if(i) 江西理工大學 printf(“%d 是閏年n”,year);else printf(“%d 不是閏年n”,year);} 數據的輸入和輸出 四、程序改錯題 改錯前的源程序;#include #include 改錯前的源程序;#include 江西理工大學 #include long x=7654123;x*=10;printf(“x=%7d”,x);} 改錯前的源程序: #include #include 五、程序編寫題:已知char ch’b’;int i=3 ,j=5;float x=22.354,y=435.6789;根據下面的輸出結果編寫程序。ch =’b’,ASCII=98 i=3□□□□□□j=5 x=22.35□□□y=435.68 實驗前的源程序: #include 江西理工大學{ char ch='b';int i=3,j=5;float x=22.354,y=435.6789;printf(“ch='%c',ASCII=%dn”,ch,ch);printf(“i=%d j=%dn”,i,j);printf(“x=%.2f y=%.2fn”,x,y);} 實驗錯誤報告:無 實驗后的源程序: #include j=%dn”,i,j);printf(“x=%.2f y=%.2fn”,x,y);} 六、從鍵盤輸入一行字符,統計其中小寫字母、大寫字母和其它字符的個數: 實驗前的源程序: #include “stdio.h” void main(){ printf(“請任意輸入一串字符:n”); char ch,sum1=0,sum2=0,other=0; ch=getchar(); while(c!='n') { if(c>='A'&&c<='Z')sum1++; else if(c>='a'&&c<='z')sum2++; else other++; c=getchar(); } printf(“大寫字母的個數:%dn”,sum1);printf(“小寫字母的個數:%dn”,sum2); 江西理工大學printf(“其他字符母個數:%dn”,other);} 實驗錯誤報告: [Error] D:Program FilesC-Free 4temp未命名7.cpp:7: `c' undeclared(first use this function)[Error] D:Program FilesC-Free 4temp未命名7.cpp:7:(Each undeclared identifier is reported only once [Error] D:Program FilesC-Free 4temp未命名7.cpp:7: for each function it appears in.)構建中止 未命名7: 3 個錯誤, 0 個警告 實驗后的源程序: #include “stdio.h” void main(){ printf(“請任意輸入一串字符:n”); char ch,sum1=0,sum2=0,other=0; ch=getchar(); while(ch!='n') { if(ch>='A'&&ch<='Z')sum1++; else if(ch>='a'&&ch<='z')sum2++; else other++; ch=getchar(); } printf(“大寫字母的個數:%dn”,sum1);printf(“小寫字母的個數:%dn”,sum2);printf(“其他字符母個數:%dn”,other);} 七、使用以下公式求∏的近似值,要求精確到最后一項的絕對值小于10e-4 ∏/4=1-1/3+1/5-1/7+…… 實驗前的源程序: #include “stdio.h” #include “math.h” main(){ 江西理工大學 } float sum=0;int i,j;for(i=1;;i++){ j=2*i-1;if(1.0/j>0.0001){ sum+=pow(-1,i+1)*(1.o/j);continue;break;} printf(“∏=%fn”,sum*4.0); 實驗錯誤報告: [Error] D:Program FilesC-Free 4temp未命名9.cpp:13: nondigits in number and not hexadecimal [Error] D:Program FilesC-Free 4temp未命名9.cpp:19: parse error at end of input 構建中止 未命名9: 2 個錯誤, 0 個警告 實驗后的源程序: #include “stdio.h” #include “math.h” main(){ float sum=0;int i,j;for(i=1;;i++){ j=2*i-1;if(1.0/j>0.0001){ sum+=pow(-1,i+1)*(1.0/j);continue;} break;} printf(“∏=%fn”,sum*4.0);} 八、用選擇法對10個整數排序: 實驗前的源程序: 江西理工大學#include scanf(“%d”,a[i]);} printf(“n”);for(i=0;i<10;i++)for(j=0;j<10-j;j++){ if(a[j]>a[j+1]) { k=a[j]; a[j]=a[j+1]; k=a[j+1];} printf(“這10個整數從小到大排列為:”);for(j=0;j<10;j++){ printf(“%d ”,a[j]);} printf(“n”);printf(“這10個整數從大到小排列為:”);for(j=9;j>=0;j--){ printf(“%d ”,a[j]);} 實驗錯誤報告: [Error] D:Program FilesC-Free 4temp未命名1.cpp:33: parse error at end of input 構建中止 未命名1: 1 個錯誤, 0 個警告 實驗后的源程序: //用選擇法對10個整數排序 #include 江西理工大學 int i,j,k;for(i=0;i<10;i++){ scanf(“%d”,a[i]);} printf(“n”);for(i=0;i<10;i++)for(j=0;j<10-j;j++){ if(a[j]>a[j+1]){ k=a[j]; a[j]=a[j+1]; k=a[j+1];} } printf(“這10個整數從小到大排列為:”);for(j=0;j<10;j++){ printf(“%d ”,a[j]);} printf(“n”);printf(“這10個整數從大到小排列為:”);for(j=9;j>=0;j--){ printf(“%d ”,a[j]);} } 九、求一個3*3的整數矩陣對角線元素之積: 實驗前的源程序: #include scanf(“%d”,&a[i][j])} for(i=0;i<3;i++) 江西理工大學 { for(j=0;j<3;j++) { printf(“%d ”,a[i][j]); } printf(“n”); } printf(“n”); for(i=0;i<3;i++) { for(j=0;j<3;j++) if(i=j) ji*=a[i][j]; printf(“主對角線的積為:%dn”,ji); } } 實驗錯誤報告: [Error] D:Program FilesC-Free 4temp未命名4.cpp:11: parse error before `}' 構建中止 未命名4: 1 個錯誤, 0 個警告 實驗后的源程序: #include scanf(“%d”,&a[i][j]);} for(i=0;i<3;i++){ for(j=0;j<3;j++) { printf(“%d ”,a[i][j]); } printf(“n”); } 江西理工大學 printf(“n”); for(i=0;i<3;i++) { for(j=0;j<3;j++) if(i=j) ji*=a[i][j]; printf(“主對角線的積為:%dn”,ji); } } 十、將一個數組中的值按你需從新存放。例如,原來順序為8,6,5,4,1。要求改為1,4,5,6,8。 實驗前的源程序: #include scanf(“%d”,&a[i]);} for(i=0;i t=a[i]; a[i]=a[j-i-1]; t=a[j-i-1];} printf(“該數組逆序排列為:”); for(i=0;i printf(“%d ”,a[i]);printf(“n”);} 實驗錯誤報告: [Error] D:Program FilesC-Free 4temp未命名3.cpp:25: parse error at end of input 構建中止 未命名3: 1 個錯誤, 0 個警告 江西理工大學實驗后的源程序: #include scanf(“%d”,&a[i]);} for(i=0;i t=a[i]; a[i]=a[j-i-1]; a[j-i-1]=t;} printf(“該數組逆序排列為:”); for(i=0;i printf(“%d ”,a[i]);} printf(“n”);} 江西理工大學 C語言程序設計(B) (2010-2011-2) 實驗報告 教學班級: 學號: 姓名: 課程教師:王華金 實驗輔導教師:王華金 江西理工大學P123-- 五、1、編寫函數,找出5*5數組對角線上元素的最小值,并在主函數中調用它。要求元素的值通過鍵盤輸入。 實驗前的源程序: #include for(j=0;j<5;j++) if(i==j) if(p[i][j] return min;} void main(){ int i,j,m,a[5][5];printf(“請輸入a[5][5]:n”);for(i=0;i<5;i++)for(j=0;j<5;j++)scanf(“%d”,&a[i][j]);printf(“a[5][5]:n”);for(i=0;i<5;i++){for(j=0;j<5;j++)printf(“%4d”,a[i][j]);printf(“n”);} m=func(a);printf(“主對角線上元素的最小值為:%dn”,m);} 實驗錯誤報告: [Error] C:Users陶鑫DocumentsC-FreeTemp未命名4.cpp:13: error: `main' must return `int' [Warning] C:Users陶鑫DocumentsC-FreeTemp未命名4.cpp:27:2: warning: no newline at end of file 構建中止 未命名4: 1 個錯誤, 1 個警告 江西理工大學 實驗后的源程序: #include for(j=0;j<5;j++) if(i==j) if(p[i][j] return min;} main(){ int i,j,m,a[5][5];printf(“請輸入a[5][5]:n”);for(i=0;i<5;i++)for(j=0;j<5;j++)scanf(“%d”,&a[i][j]);printf(“a[5][5]:n”);for(i=0;i<5;i++){for(j=0;j<5;j++)printf(“%4d”,a[i][j]);printf(“n”);} m=func(a);printf(“主對角線上元素的最小值為:%dn”,m);} P123-- 五、3、編寫從整形數組中檢索給定數值的函數,若找到則輸出該數值在數組中的位置。 實驗前的源程序: #include “stdio.h” int Find(int array[],int Array size,int num){ int i;for(i=0;i 江西理工大學int main(){ int a[]={1,2,3,4,5};num=4,n=5,index;index=find(a,5,num);if(index)printf(“%d在數組中第%d位置”,num,index);else printf(“數組中沒有這個數!”);} 實驗錯誤報告: [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:2: error: expected `,' or `...' before “size” [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: expected `;' before “size” [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: `size' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: expected `)' before ';' token [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: expected `;' before ')' token [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:13: error: `num' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:13: error: `n' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:13: error: `index' was not declared in this scope 江西理工大學[Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:14: error: `find' was not declared in this scope [Warning] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:19:2: warning: no newline at end of file 實驗后的源程序: #include “stdio.h” int Find(int Array[], int Array_size, int num){ int i;for(i=0;i P123-- 五、6、輸入10名學生5門課的成績,分別用函數求:(1)每門課的平均分。(2)找出最高的分數所對應的學生和成績。 實驗前的源程序: #include for(i=0;i<10;i++) { printf(“輸入第%d個學生五門課的成績:”,i+1); for(j=0;j<5;j++) scanf(“%f”,&a[i][j]); } } void aver_cour(float a[10][5])//課程的平均分 江西理工大學 { int i,j; float sum; for(i=0;i<5;i++) { sum=0; for(j=0;j<10;j++) sum+=a[j][i]; printf(“第%d門課的平均成績為:%6.2fn”,i+1,sum/10); } } void highest(float a[10][5])//查找最高分 { int i,j,flag1,flag2;float max=0; for(i=0;i<10;i++) { for(j=0;j<5;j++) {第二篇:《Matlab語言》實驗報告
第三篇:c語言實驗報告
第四篇:C語言 實驗報告
第五篇:C語言實驗報告