C語言實驗三模塊化程序設計_第1頁
C語言實驗三模塊化程序設計_第2頁
C語言實驗三模塊化程序設計_第3頁
C語言實驗三模塊化程序設計_第4頁
C語言實驗三模塊化程序設計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、C語言實驗三模塊化程序設計實驗三模塊化程序設計(3學時)【實驗目的】1. 掌握一維數(shù)組和二維數(shù)組的定義、賦值和輸入輸出的方法。2. 掌握字符數(shù)組和字符串函數(shù)的使用。3. 掌握與數(shù)組有關(guān)的算法。4. 掌握函數(shù)定義的方法。5. 掌握函數(shù)實參與形參的傳遞方式。6. 掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法。7. 了解全局變量和局部變量、動態(tài)變量、靜態(tài)變量的概念和使用方法?!緦嶒瀮?nèi)容】任務1數(shù)組的基本定義與應用1 .定義一個10個元素的int數(shù)組a,輸入10個數(shù),并輸出。參考程序:main()inti,a10;for(i=0;i<10;i+)scanf(,%cF,&ai);for(i=0;i&

2、lt;10;i+)printf5daiD;printf("rT);運行結(jié)果:2,尋找整數(shù)數(shù)組num中的最大值及其所在的下標。參考程序:main()inti,max,p,a10;printf(vvpleaseenter10data:nfl);for(i=0;i<10;i+)max=a0;p=0;for(i=1;i<10;i+)if(ai>max)max=ai;p=i;printf("maxis:%dnl,max);printf(Mpointis:%dnf,p+1);)運行結(jié)果:(比較交2 .實現(xiàn)對n個數(shù)的數(shù)列從小到大排序。換法、選擇法、冒泡法)參考程序:冒泡

3、法#include<conio.h>main()inti,j,n,a100;inttemp;clrscr();printf("enterthenumber:n");scanf("%d",&n);for(i=0;i<n;i+)scanf("%d",&ai);printf("noutputtheoriginalarrayn");for(i=0;i<n;i+)printf("%5d",ai);for(i=0;i<n-1;i+)for(j=0;j<n-

4、1-i;j+)if(aj>aj+1)temp=aj;aj=aj+1;aj+1=temp;printf("noutputthesortedarrayn");for(i=0;i<n;i+)printf("%5d",ai);printf("n");運行結(jié)果:3 .有一個4X4的矩陣,編程將行和列的元素互換,輸出互換后的矩陣。參考程序:main()inta44,i,j,t;for(i=0;i<4;i+)for(j=0;j<4;j+)scanf("%d",&aij);printf("

5、outputarraya:beforechange:n");for(i=0;i<4;i+)for(j=0;j<4;j+)printf("%5d",aij);printf("n");for(i=0;i<4;i+)for(j=0;j<i;j+)t=aij;aij=aji;aji=t;printf("outputarraya:afterchange:n");for(i=0;i<4;i+)for(j=0;j<4;j+)printf("%5d",aij);printf("

6、;n");運行結(jié)果:(統(tǒng)一輸入4X4矩陣為:淮南師范學院電氣信息工程學院001021002102001)任務2.字符數(shù)組1 用戶從鍵盤輸入一個字符串(不包含空格),當輸入回車時認為輸入結(jié)束,統(tǒng)計輸入字符串中小寫英文字母、大寫英文字母、數(shù)字字符、其他字符的個數(shù)。參考程序:#include"string.h"main()chara80,i,c1=0,c2=0,c3=0,c4=0;gets(a);i=0;while(ai!='0')if(ai>='a'&&ai<='z')c1+=1;elseif

7、(ai>='A'&&ai<='Z')c2+=1;淮南師范學院電氣信息工程學院elseif(ai>='0'&&ai<='9')c3+=1;elsec4+=1;i+;printf("numberoflowerlettersare:%dn",c1);printf("numberofupperlettersare:%dn",c2);printf("numberofdigitare:%dn",c3);printf("

8、numberofotherlettersare:%dn",c4);運行結(jié)果:2 .輸入一個字符串,將其中的小寫字母轉(zhuǎn)換成大寫字母,輸出轉(zhuǎn)換后的字符串。參考程序:#include"string.h"main()chars80,i;淮南師范學院電氣信息工程學院gets(s);i=0;while(si!='0')if(si>='a'&&si<='z')si=si-32;i+;puts(s);運行結(jié)果:任務3.函數(shù)的定義和聲明1 .分析推測下面程序的輸出,并上機運行驗證結(jié)果。(運行結(jié)果:)10;n

9、um/=10; pinScgudelftdi&hUnsignednum)unsignedk=1;wk;=returrain()pnn即蝙靦2的);2 .求出以下程序的運行結(jié)果,并描述程序所完成的功能。(運行結(jié)果:程序功能是:#include<stdio.h>main(),intpowntx,intn);prinV("Tns=%d",power(x,n);(ntpower(intx,intn)i=1J<=n;i+)是能pnntf("n t= ouble fun(int m)輸入10時的結(jié)果:一#include <stdio.h>

10、3 .下面程序中)函數(shù)fun的功能是根據(jù)形參m計算公式T=1/1!+1/2!+1/3!+1/m!的值,上機調(diào)試,當從鍵盤輸入10時,給出程序運行的正確結(jié)果(按四舍五入保留10位小數(shù))。m加上由羲醐寫定義,且不;m:");:10lfn",fun(m);d(oub1e.fac,t=0.0;fOr(i=1力<=m;i+)fac=10;return t;:+=1=1詬=;i;j+)fac=fac*j;任務4.數(shù)組與函數(shù)的綜合應用1 .在一個一維數(shù)組a中存放10個正整數(shù),求其中所有的素數(shù)。(用數(shù)組元素作為函數(shù)的實際參數(shù))參考程序:intsushu(intx)inti,k=1;i

11、f(x=1)k=0;for(i=2;i<=x/2;i+)if(x%i=0)k=0;return(k);main()inta10,i;for(i=0;i<10;i+)scanf("%d”,&ai);printf("sushuofarrayaare:n");for(i=0;i<10;i+)if(sushu(ai)printf("%5d",ai);printf("n");運行結(jié)果:2 .設有一個3X4的矩陣,求出其中的最大元素(要求:將計算最大值的功能設計成函數(shù),數(shù)組名作為參數(shù))參考程序:max_valu

12、e(intarray12)inti,max;max=array0;for(i=0;i<12;i+)if(arrayi>max)max=arrayi;return(max);main()inta34=1,3,5,7,2,4,6,8,15,17,34,12;printf("max=%dn",max_value(a);淮南師范學院電氣信息工程學院運行結(jié)果:任務5.函數(shù)的嵌套調(diào)用1.跟蹤調(diào)試下面程序,注意函數(shù)調(diào)用的過程中形參、實參的關(guān)系。記錄并分析結(jié)果;將形參a,b對應改為x,y)使之與實參變量同名)記錄并分析結(jié)果nciudeain()Pnt1赤5位);x=%d,y學&

13、quot;Xy);x=%d,$wap(inta,intb)intt-、a=%d,b=%dfn"2),b);翔,b);ininininmain:main:swap:swap:運行結(jié)果:將形參a,b對應改為x,y的結(jié)果:結(jié)論:無論實參、形參是否同名,交換的只是子函數(shù)(swap)中兩個變量的值。主函數(shù)中的x,y的值沒有變。(參考紅字內(nèi)容,用自己的話寫結(jié)論)2 .若輸入2、3,求以下程序的運行結(jié)果,分析函數(shù)嵌套調(diào)用的執(zhí)行過程。on oninclude <stdio.uorial(int 'ny;a);int n1_,n2; long scan p=su("a=”,&a

14、mp;n1,&n2);,;a);ong sum(int a,int b)long c1,c2: /、 c1=actbria (a); 盤宙嘲,returnong factorial(int n)lo用rtn=1;r(j=1_;i<=n;i+) return(rtn);運行結(jié)果:程序功能:3 .寫出下面程序的輸出結(jié)果#include"stdio.h"intabc(intu,intv);main()inta=24,b=16,c;c=abc(a,b);printf("%dn",c);ntabc(intu,intv)intw;wW=e%v;u=v;

15、v=w;最大公約數(shù)returnu;程序功能:運行結(jié)果:任務6.函數(shù)的遞歸調(diào)用1.使用遞歸函數(shù)實現(xiàn)計算n!)并在main函數(shù)中調(diào)用。參考程序:#include"stdio.h"longfun(intn)longf;if(n=1|n=0)f=1;elsef=n*fun(n-1);returnf;main()intnum;scanf("%d",&num);if(num>=0)printf("%d!=%ldn",num,fun(num);elseprintf("inputdataerror!n");運行結(jié)果:

16、任務7.變量的存儲類型與編譯預處理1.從鍵盤上輸入一個字符串,內(nèi)有若干個字符,再輸入一個字符,編寫程序?qū)⒆址性撟址麆h去。(用外部函數(shù)實現(xiàn),分別編譯連接,執(zhí)行main函數(shù)文件)/*文件名為:zy161.c*/#include<stdio.h>voidmain()externenter_string(charstr),delete_string(charstr,charch),print_string(charstr);charc;staticcharstr80;淮南師范學院電氣信息工程學院enter_string(str);scanf("%c",&c);delete_string(str,c);print_string(str);/*文件名為:zy162.c*/#include<stdio.h>#include"string.h"enter_string(charstr)gets(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論