![實驗一C程序運行環(huán)境及簡單程序的運行_第1頁](http://file4.renrendoc.com/view/e7671885c1bd39cb713ca2c5a377950f/e7671885c1bd39cb713ca2c5a377950f1.gif)
![實驗一C程序運行環(huán)境及簡單程序的運行_第2頁](http://file4.renrendoc.com/view/e7671885c1bd39cb713ca2c5a377950f/e7671885c1bd39cb713ca2c5a377950f2.gif)
![實驗一C程序運行環(huán)境及簡單程序的運行_第3頁](http://file4.renrendoc.com/view/e7671885c1bd39cb713ca2c5a377950f/e7671885c1bd39cb713ca2c5a377950f3.gif)
![實驗一C程序運行環(huán)境及簡單程序的運行_第4頁](http://file4.renrendoc.com/view/e7671885c1bd39cb713ca2c5a377950f/e7671885c1bd39cb713ca2c5a377950f4.gif)
![實驗一C程序運行環(huán)境及簡單程序的運行_第5頁](http://file4.renrendoc.com/view/e7671885c1bd39cb713ca2c5a377950f/e7671885c1bd39cb713ca2c5a377950f5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、廣西科技大學實驗報告 C語言程序設計 成績GuangxiUniversity of Science and Technolog成績C語言程序設計實驗報告院 (系): 計算機學院 專 業(yè): 通信工程 班 級: 通信132班學生姓名: 王睿 學 號: 201300402042 上 課 時 間:2013-2014(1) 指 導 老 師: 王智文 廣西科技大學實驗報告 C語言程序設計 實驗一 C程序運行環(huán)境及簡單程序的運行一、實驗目的(1)了解所用的計算機系統(tǒng)的基本操作方法,學會獨立使用該系統(tǒng)。(2)了解在該系統(tǒng)上如何編輯、編譯、連接和運行一個C 程序。(3)通過運行簡單的C 程序,初步了解C 程序的
2、特點。二、實驗內容1.下列程序的功能為:計算x*y的值并將結果輸出,程序中有8處錯誤,嘗試改正并上機調試之(程序以文件名sy1_2.cpp存盤)。#include void main int x=2;y=3;aA=x*yprint (a=%d,a);printf(n);2.下列程序的功能為:輸入圓的半徑,計算圓面積并將結果輸出;程序中有9處錯誤,嘗試改正并上機調試之(程序以文件名sy1_3.cpp存盤)。#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.編寫一個程序實現輸入三個整數,顯示出其中的最大值。三、實驗分析與總結 總結程序的結構和書寫規(guī)則。 閱讀:附件A-在Visual C+環(huán)境下運行C程序的方法。特別提示:當程序在編譯時發(fā)現很多錯誤,此時應從上到下逐一改正,或改一個錯誤,就重新再編譯,因為有時一個錯誤會引起很多錯誤信息。四、相關實驗程序列表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);五、實驗心得通過這次學習,我學會了編輯、編譯、連接和運行一個C
5、程序,初步了解了C 程序的特點,我感到很高興,我會努力把基礎學好。實驗二基本數據類型、運算和表達式一、實驗目的(1)掌握C 語言數據類型,熟悉如何定義一個整型和實型的變量,以及對它們賦值的方法。(2)掌握不同的類型數據之間賦值的規(guī)律。(3) 學會使用C 的有關算術運算符,以及包含這些運算符的表達式,特別是自加(+)和自減(-)運算符的使用。(4)進一步熟悉C 程序的編輯、編譯、連接和運行的過程。二、實驗內容1.變量定義,按要求完成程序下面給出一個可以運行的程序,但是缺少部分語句,請按右邊的提示補充完整缺少的語句。#include stdio.hmain(); /*定義整型變量a 和b*/; /
6、*定義實型變量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)將代碼補充完整;(2)在VC+上運行通過并寫出運行結果。2.在顯示屏上顯示指定字符要求編寫一個程序,在顯示屏上顯示如下內容(全為半角字符,且不包含空格):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
7、;printf(%f,%d,%d,%c,%c, a,b,c,d,e);運行結果為:提示賦值語句具有類型轉換的功能,但可能會改變數據。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);運行結果為:提示除法分整除與普通除法之分。三、實驗分析與總結 總結如何定義程序的數據類型,運算符的優(yōu)先級別,賦值表達式的作用。程序4中的b+改寫為+b后的結
8、果會變化嗎?四、相關實驗程序列表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);五、實驗心得通過這次學習我學會了整型和實型的變量,以及對它們賦值的方法和使用C 的有關算術運算符,以及包含這些運算符的表達式,我會鞏固所學到的知識,繼續(xù)努力。實驗三基本輸入與輸出一、實驗目的(1)熟練掌握putchar、getchar、printf、scanf 函數的使用方法。(2)掌握各種類型數據的輸入輸出的方法,能正確使用各種格式轉換符。二
10、、實驗內容1.字符的輸入與輸出編程實現由鍵盤輸入一個字符后,在屏幕上輸出該字符。參考程序:#include stdio.hmain() char ch;ch = getchar();putchar(ch);2.加法計算編程實現由鍵盤輸入一個加法式,輸出正確的結果。(兩個加數均為整數)。參考程序:#include stdio.hmain() int a, b;scanf(%d%*c%d, &a,&b);printf(%d, a+b);3.求圓的面積由鍵盤輸入圓半徑r,請計算該圓的面積。(注:取3.14159,結果保留兩位小數位;另外,程序只要能對r 在0 到10000 范圍的情況輸出正確答案即可
11、)。參考程序:#include stdio.hmain() float area,r;scanf(%f,&r);area=3.14159*r*r;printf(%0.2f,area);運行結果為:4. 計算攝氏溫度值從鍵盤輸入一個華氏溫度值,要求按格式輸出其對應的攝氏溫度值,精確到小數點后兩位。數學公式描述為:參考程序:#includemain() float f,c;scanf(%f,&f);c=5.0/9*(f-32);printf(%.2f,c);運行結果為:三、實驗分析與總結各實驗運行結果及分析。 程序2中%*c的含義是什么?(3) 程序4中c=5.0/9*(f-32),為什么要用5.
12、0,如果改為5,運行結果將會是什么?四、相關實驗程序列表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);五、實驗心得通過這次學習,我熟悉了putchar、getchar、printf、scanf 函數的使用方法以及各種類型數據的輸入輸出,能夠正確使用各種格式轉換符,我感受到了學習c語言的樂趣。實驗四順序結構程序設計一、實驗目的(1)熟練掌握順序結構程序設計的設計方法。(2)掌握各賦值語句的正確使用方法。(3)學習進一步調試程序。二、實驗內容1.sizeof運算符的使用方法以下程序用于測試C中不同類型數據所占內存字節(jié)數,運行并體會sizeof運算符的使用方法。/sizeof運算的結果為一個int型的整數,表示其求解對象的存儲所占的內存字
14、節(jié)數。#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);/變量的類型所占內存字節(jié)數printf(Size of 2.0*10 is %dn, sizeof(2.0*10);/表達式運算結果的類型所占字節(jié)數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、結果2.分析程序的輸出結果閱讀并分析以下程序的輸出結果,上機調試,對比實際的輸出與分析的結果是否一致。#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!);參考結果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.程序修改下列程序的功能為:按下列公式計算并輸出x的值。其中a和b的值由鍵盤輸入。 x=2ab/(a+b)2請糾正程序中存在的錯誤,使程序實現其功能。 #include void main() int a,b; float x; scanf(%d,%d,a,b);x=ab/(a+b)(a+b); printf(x=%dn,x);4. 編寫與調試程序寫一個程序測試一下把帶小數的float和double型數據用printf函數輸出
20、時,小數部分是截斷還是四舍五入?三、實驗分析與總結 各實驗運行結果及分析。 程序1中Liu Dehua的sizeof的值為什么是10還不是9?四、相關實驗程序列表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);/變量的類型所占內存字節(jié)數printf(Size of 2.0*10 is %dn, sizeof(2.0*10);/表達式運算結果的類型所占字節(jié)數printf(size of Liu Dehua is %dn, sizeof(Liu Dehua);/字符串所占內存字節(jié)數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;五、實驗心得通過這次學習,我基本掌握了順序結構程序設計的設計方法以及各賦值
24、語句的正確使用方法,我會努力熟悉他們以便更好地設計程序。實驗五選擇結構程序設計一、實驗目的(1)了解C 語言表示邏輯的方法(以0 代表“假”,以非0 代表“真”)。(2)學會正確使用邏輯運算符和邏輯表達式。(3)熟練掌握if 語句和switch 語句。(4)結合程序掌握一些簡單的算法。二、實驗內容1.判斷點是否在圓上由鍵盤輸入一個點的坐標,要求編程判斷這個點是否在單位圓上,點在圓上輸出Y,不在圓上輸出N。使用小數點后3位精度進行判斷。提示(1)平面上的點與圓的關系分為在圓內、在圓上、在圓外三種,本題要求判斷是否在圓上;(2)判斷兩實數相等采用判斷這兩實數的差的絕對值小于規(guī)定誤差精度(本題為0.
25、001)的方法實現。參考程序:#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,則輸出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);現在,題目要求處理5 個字符,怎么做呢?請自己思考5. 簡單計算器下面程序是實現一個簡單的運算器(保留兩位小數點),如果由鍵盤輸入10+50,計算機可以輸
27、出結果60.00;如果輸入86,計算機輸出48.00;如果輸入20/4,計算機輸出5.00;如果輸入8-6,計算機輸出2.00,請在空處填上適當的代碼,運行通過后并提交。#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. 編寫與調試程序輸入三角形的三邊長a、b、c,求其面積三角形的面積公式為:Area=,其中S=(a+b+c)/2。
28、(要求判斷邊長值的合法性與三角形的可構成性)。參考程序:#include stdio.h#include math.h /數學函數庫頭文件void main()double a,b,c,s,area; printf (請輸入三角形三邊長:n);scanf(%lf,%lf,%lf,&a,&b,&c);if(a=0|b=0|cc & b+ca & a+cb) /任意兩邊之和對于第三邊s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c); /double sqrt(double x):求平方根值printf(area=%lfn,area);elseprintf(不能構成
29、三角形!n);三、實驗分析與總結 各實驗運行結果及分析。 程序1中誤差精度(設置為0.00001),怎樣修改程序?程序4中要求反序輸出大寫字母,怎樣修改程序?四、相關實驗程序列表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 /數學函數庫頭文件void main()double a,b,c,s,area; printf (請輸入三角形
34、三邊長:n);scanf(%lf,%lf,%lf,&a,&b,&c);if(a=0|b=0|cc & b+ca & a+cb) /任意兩邊之和對于第三邊s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c); /double sqrt(double x):求平方根值printf(area=%lfn,area);elseprintf(不能構成三角形!n);五、實驗心得通過這次學習我了解C 語言表示邏輯的方法,學會了正確使用邏輯運算符和邏輯表達式,基本掌握了掌握if 語句和switch 語句,我會盡快熟悉它們,培養(yǎng)獨立思考的能力。實驗六循環(huán)結構程序設計(一)一、實驗目的
35、(1)熟悉掌握用while 語句、do-while 語句和for 語句實現循環(huán)的方法。(2)掌握在程序設計中用循環(huán)實現一些常用算法(如窮舉、迭代、遞推等)。二、實驗內容1.計算階乘輸入正整數n,計算n!,結果用長整型數表示(注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.計算數列和有數列1,3,5,7,9,11,現要求由鍵盤輸入n,計算輸出該數列的前n 項和。參考程序:#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.累加一行字符中的數字由鍵盤輸入一行字符(總字符個數從1個至100個均有可能,以回車符表示結束),將其中每個數字字符所代表的數值累加起來,輸出結果。提示(1)可以使用下面程序段逐個讀入鍵盤輸入的一行字符char ch;while(ch=getchar()!=n)(2)數字字符轉為對應的數值可用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. 求最大公約數由鍵盤輸入兩個正整數m、n(m、n 用長整數表示),計算它們的最大公約數。提示公約數是既能整除m 又能整除n 的數,題目要求滿足這一條件的最大的一個。參考程序:#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. 計算數列和有數列:,編程實現,由鍵盤輸入n,計算輸出數列前n 項和。(結果保留四位小數)。參考程序:#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. 百萬富翁一個百萬富翁遇到一個陌生人,陌生人找他談了一個換錢的計劃。該計劃如下:我每天給你m 元,而你第一天只需
39、給我一分錢。第二天我仍給你m 元,你給我2 分錢。第三天,我仍給你m 元,你給我4分錢。依次類推,你每天給我的錢是前一天的兩倍,直到一個月(38)天。百萬富翁很高興,欣然接受這個契約。現要求,編寫一個程序,由鍵盤輸入m,計算多少天后,百萬富翁開始虧錢。參考程序:#include #include main() int n,m,i;scanf (%d,&m);for (i=1;i=0) break;printf(%d,i-1);三、實驗分析與總結 各實驗運行結果及分析。 程序2中將數列1,3,5,7,9,11,改為1,9,17,25,33,41,怎樣修改程序? 程序5中自己換一個數列(如:),怎
40、樣修改程序?四、相關實驗程序列表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);五、實驗心得通過這次學習我掌握了用while 語句、do-while 語句和for 語句實現循環(huán)的方法以及在程序設計中用循環(huán)實現一些常用算法,我感受到了算法在程序設計中的重要性。實
43、驗七循環(huán)結構程序設計(二)一、實驗目的(1)進一步熟悉掌握用while 語句、do-while 語句和for 語句實現循環(huán)的方法。(2)掌握在程序設計中使用多重循環(huán)。二、實驗內容1.打印菱形由鍵盤輸入正數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.找出滿足要求的數字輸出1 到9999 中能被7 整除,而且至少有一位數字是5 的所有數字。輸出時一行一個數字,且按由小到大的順序輸出。提示判斷一個數中是否有數字5,首先要掌握拆數字的方法,一種可行算法如下:一個整數a,使用a%10,可以得到a 的個位數,然后使用a=a/10,可以將a 中的個位數字除去,上述過程重復則可以得到原數a 中其它位上的數字。參考程序:#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.求水仙花數輸出所有的“水仙花數”,所謂“水仙花數”是指一個3位數,其各位數字的立方和等于該數本身。如:153=13+53+33。三、實驗分析與總結 各實驗運行結果及分析。四、相關實驗程序列表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); 五、實驗心得通過這次學習我鞏固了上次學到的用while 語句、do-while 語句和f
47、or 語句實現循環(huán)的方法,基本學會了在程序設計中使用多重循環(huán)。實驗八 數 組一、實驗目的(1)掌握一維數組和二維數組的定義、賦值和輸入輸出方法。(2)掌握與數組有關的算法。(3)掌握字符數組和字符串函數的使用。二、實驗內容1.倒序由鍵盤輸入10 個整數,倒序輸出。(數字間由一個空格分隔)。2.打印矩陣由鍵盤輸入一個34 的矩陣,要求輸出它的轉置矩陣。參考程序:#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.冒泡排序由鍵盤輸入10 個數,用“冒泡法”對10 個數從小到大排序,并按格式要求輸出。代碼如下,請?zhí)畛渫暾底珠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)計不同數字個數由鍵盤輸入20 個整數,統(tǒng)計不同數字的個數。參考程序:#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);三、實驗分析與總結 各實驗運行結果及分析。(2)程序1中改為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);五、實驗心得通過這次學習我掌握了與數組有關的算法以及字符數組和字符串函數的使用。明白了一維二維數組的使用方法,我會繼續(xù)努力。實驗九字符數組的應用一、實驗目的(1)掌握字符數組和字符串函數的使用。(2)掌握與字符串處理有關的算法。二、實驗內容1.定義存貯字符串的字符數組#include string.hvoid main() char s80; /*定義字符數組s*/strc
53、py(s, abcdefghijklmn);printf(%s, s);2.字符串的輸入與輸出下面程序實現從鍵盤讀入字符串,然后輸出到屏幕,請?zhí)畛浔匾恼Z句。#include stdio.hvoid main()char s50;printf(Whats your name?);gets(s); /*由鍵盤讀入字符串*/printf(Your name is , );printf(%s, s); /*打印字符串*/3.字符串的合并從鍵盤輸入3 個字符串(每個字符串以回車符做為結束標志),將3 個字符串以輸入先后順序合并到字符串s中,請?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);/*可以寫多行代碼*/printf(%s, s);4.回文串讀入一行字符串(不多于80 個字符,以回車結束),判斷該字符串是否為回文串(即從左向右拼寫與從右向左拼寫是一樣的),是輸出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.尋找字符串由鍵盤輸入兩個字符串(假設第一個字符串必包含第二個字符串,如第一個字符串為ABCDEF,第二個為CDE,則CDE 包含在ABCDEF 中),現要求編程輸出第二字符串在第一行字符串中出現的位置。(如果第二個字符串在第一個字符串中出現多次,則以最前出現的為準)提示方法1:建立雙重循環(huán),外層循環(huán)變量指示第一個串的查找起始位置,內層循環(huán)從起始位置開始判斷第二個字符中是否出現在此處;方法2:使用字符串函數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);三、實驗分析與總結 各實驗運行結果及分析。四、相關實驗程序列表1#include stdio.hvoid main() char s80=a,b,c,d,e,f,g,h,i,g,k,l,m,n; /*定義字符數組s*/scanf(%s, abcdefghijklmn);printf(%s, s);2#include s
57、tdio.hvoid main()char s50;printf(Whats your name?);gets(s); /*由鍵盤讀入字符串*/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);/*可以寫多行代碼*/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);五、實驗心得通過這次學習我明白了字
59、符數組和字符串函數的使用以及字符串處理有關的算法。掌握了字符數組和字符串函數的使用。我會更加努力。實驗十函數的基本應用一、實驗目的(1)掌握定義函數的方法。(2)掌握函數實參與形參的對應關系,以及“值傳遞”的方式。(3)掌握函數的嵌套調用和遞歸調用的方法。(4)掌握全局變量和局部變量、動態(tài)變量、靜態(tài)變量的概念和使用方法。二、實驗內容1.函數定義下面是使用輾轉相除法,求最大公約數的程序,請補充完整程序中函數的定義與調用。#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.編寫函數計算階乘下面程序實現由鍵盤讀入整數n,計算并輸出n!,請補充完整計算階乘的函數。#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.函數中的變量寫出下面程序的運行結果:int f1(int x) static int z=3,y=0;y+;z+;return(x+y+z);main() int a=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度國際快遞運輸與時效跟蹤服務合同
- 2025年度屋頂租賃合同附屋頂廣告權益共享協(xié)議
- 2025年度時尚女鞋品牌全國代理權購買合同樣本
- 培養(yǎng)學生團隊合作能力的美術教學計劃
- 激活團隊潛力的成功經驗計劃
- 學校年度班級工作計劃表目
- 區(qū)域倉庫布局的設計原則計劃
- 2025年港物運輸項目合作計劃書
- 主管的職業(yè)素養(yǎng)與榜樣作用計劃
- 2025年激光轉速測量儀項目建議書
- 2024PowerTitan系列運維指導儲能系統(tǒng)運維指導
- 2024年成都溫江興蓉西城市運營集團有限公司招聘筆試沖刺題(帶答案解析)
- 患者發(fā)生輸液反應的應急預案
- 成品出貨檢驗培訓課件
- 審計報告中無所有者權益變動表書面聲明
- 5人小品《聚寶盆銀行》臺詞
- SJG 148-2024 橋梁結構健康監(jiān)測技術標準
- 《核酸檢測技術》課件
- 銷售團隊組建和管理課件
- 中國內部審計準則及指南
- 銀行個人業(yè)務培訓課件
評論
0/150
提交評論