版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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è)(理工類)課程名稱:C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn) 專業(yè)班級(jí): 15自動(dòng)化 2班 學(xué)生學(xué)號(hào): 1517011063 學(xué)生姓名: 王啟濤 所屬院部: 智能科學(xué)與控制工程學(xué)院 指導(dǎo)教師: 王預(yù) 201520 16學(xué)年 第 2 學(xué)期金陵科技學(xué)院教務(wù)處制實(shí)驗(yàn)報(bào)告書(shū)寫(xiě)要求實(shí)驗(yàn)報(bào)告上交電子稿,標(biāo)題采用四號(hào)黑體,正文采用小四號(hào)宋體,單倍行距。實(shí)驗(yàn)報(bào)告書(shū)寫(xiě)說(shuō)明實(shí)驗(yàn)報(bào)告中實(shí)驗(yàn)?zāi)康暮鸵蟆?shí)驗(yàn)儀器和設(shè)備、實(shí)驗(yàn)內(nèi)容與過(guò)程、實(shí)驗(yàn)結(jié)果與分析這四項(xiàng)內(nèi)容為必需項(xiàng)。教師可根據(jù)學(xué)科特點(diǎn)和實(shí)驗(yàn)具體要求增加項(xiàng)目。填寫(xiě)注意事項(xiàng)(1)細(xì)致觀察,及時(shí)、準(zhǔn)確、如實(shí)記錄。(2)準(zhǔn)確說(shuō)明,層次清晰。(3)盡量采用專用術(shù)語(yǔ)來(lái)說(shuō)明事
2、物。(4)外文、符號(hào)、公式要準(zhǔn)確,應(yīng)使用統(tǒng)一規(guī)定的名詞和符號(hào)。(5)應(yīng)獨(dú)立完成實(shí)驗(yàn)報(bào)告的書(shū)寫(xiě),嚴(yán)禁抄襲、復(fù)印,一經(jīng)發(fā)現(xiàn),以零分論處。實(shí)驗(yàn)報(bào)告批改說(shuō)明實(shí)驗(yàn)報(bào)告的批改要及時(shí)、認(rèn)真、仔細(xì),一律用紅色筆批改。實(shí)驗(yàn)報(bào)告的批改成績(jī)采用五級(jí)記分制或百分制,按金陵科技學(xué)院課堂教學(xué)實(shí)施細(xì)則中作業(yè)批閱成績(jī)?cè)u(píng)定要求執(zhí)行。金陵科技學(xué)院實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)項(xiàng)目名稱: 初級(jí)程序設(shè)計(jì) 實(shí)驗(yàn)學(xué)時(shí): 6 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 工科樓 實(shí)驗(yàn)日期: 2016.3.29 實(shí)驗(yàn)成績(jī): 批改教師: 王預(yù) 批改時(shí)間: 實(shí)驗(yàn)1 初級(jí)程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康暮鸵螅?)熟悉Visual C+集成環(huán)境,進(jìn)行編輯、保存、編譯、連接及運(yùn)行,并能進(jìn)行簡(jiǎn)單程
3、序調(diào)試;(2)掌握C語(yǔ)言中各種運(yùn)算符的使用;(3)掌握C語(yǔ)言中各種數(shù)據(jù)類型的區(qū)別與應(yīng)用;(4)熟練掌握C語(yǔ)言中變量的定義、賦值和使用,表達(dá)式語(yǔ)句、輸入/輸出語(yǔ)句的使用;(5)掌握C語(yǔ)言中輸入/輸出函數(shù)的使用;(6)掌握C語(yǔ)言中控制語(yǔ)句的使用,含if-else、for、while、do-while語(yǔ)句的使用。二、實(shí)驗(yàn)儀器和設(shè)備奔騰以上計(jì)算機(jī),裝有windows XP以上版本操作系統(tǒng)和Visual C+ 6.0軟件。三、實(shí)驗(yàn)內(nèi)容與過(guò)程1、程序調(diào)試(1)#include <stdio.h> main() int s,t,p,sum; scanf(“%d%d%d”,&s,&
4、t,&p); sum=s+t+p; printf(“sum=%dn”,sum);(2)#include <stdio.h>main() int k=3; if(k=3) printf(“*”); else printf(“#”);(3)#include <stdio.h>main()int k=0; do printf(“k=%dn”,k); while(k+>0); 2、程序改錯(cuò)下面是判斷一個(gè)學(xué)生考試成績(jī)及格與否的程序(成績(jī),或,或者為及格;成績(jī)?yōu)檎卟患案瘢?,調(diào)試并改進(jìn)如下程序使其能滿足上述輸出的需要。include <stdio.h>mai
5、n() char mark=“A”; switch(mark) case “A”: case “B”: case “C”: printf(“>=60n”); case “D”: printf(“<60n”); default: printf(“Errorn”); 3、程序設(shè)計(jì)(1)功能:編程實(shí)現(xiàn)使一任意實(shí)型正數(shù)保留2位小數(shù),并對(duì)第三位進(jìn)行四舍五入。 例如:實(shí)型數(shù)為 1234.567,則函數(shù)返回 1234.570000; 實(shí)型數(shù)為 1234.564,則函數(shù)返回 1234.560000。#include <stdio.h>main()float a,; int b;scan
6、f("%f",&a);b=a*100+0.5;a=b/100.0;printf("a=%7.2f",a);(2)功能:從鍵盤輸入一個(gè)大寫(xiě)字母,要求改用小寫(xiě)字母輸出。說(shuō)明:可分別利用格式化及字符專門的輸入輸出函數(shù)兩種方法實(shí)現(xiàn)。(3)功能:編寫(xiě)函數(shù)計(jì)算下列分段函數(shù)的值:(4)假設(shè)工資稅率如下,其中s代表工資,r代表稅率:s<500 r=0%500<=s<1000 r=5%1000<=s<2000 r=8%2000<=s<3000 r=10%3000<=s r=15%編一程序?qū)崿F(xiàn)從鍵盤輸入一個(gè)工資數(shù),輸出
7、實(shí)發(fā)工資數(shù)。要求使用switch語(yǔ)句。(5)功能:功能:計(jì)算正整數(shù)n的所有因子(1和n除外)之和并輸出。n的值由鍵盤輸入。例如:n=120時(shí),輸出239。(6)功能:計(jì)算并輸出下列多項(xiàng)式的值 S = 1 + 1/1! + 1/2! + 1/3! + . + 1/n! 例如:鍵盤給n輸入15,則輸出為:s=2.718282。 注意:要求n的值大于1但不大于100。(7)功能:從低位開(kāi)始取出長(zhǎng)整型變量s奇數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。例如:當(dāng)s中的數(shù)為:7654321時(shí),t中的數(shù)為:1357。五、實(shí)驗(yàn)注意事項(xiàng)1、賦值號(hào)“=”與關(guān)系運(yùn)算符“=”的區(qū)別;2、if-else語(yǔ)句中else后無(wú)條件
8、表達(dá)式;3、while與do-while的區(qū)別;4、復(fù)合語(yǔ)句必須用括起來(lái)。六、思考題1、功能:判斷一個(gè)三位數(shù)是否"水仙花數(shù)"。在main函數(shù)中從鍵盤輸入一個(gè)三位數(shù),并輸出判斷結(jié)果。說(shuō)明:所謂"水仙花數(shù)"是指一3位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個(gè)水仙花數(shù),因?yàn)?53=1+125+27。2、功能:計(jì)算并輸出3到n之間所有素?cái)?shù)的平方根之和。 例如:鍵盤給n輸入100后,輸出為:sum=148.874270。3、功能:輸出Fibonacci數(shù)列中大于s的最小的一個(gè)數(shù)。其中Fibonacci數(shù)列F(n)的定義為: F(0)=0,F(xiàn)(1)=1 F
9、(n)=F(n-1)+F(n-2) 例如:鍵盤輸入s=1000時(shí),輸出1597。4、功能:判斷整數(shù)x是否是同構(gòu)數(shù)。若是同構(gòu)數(shù),輸出是;否則輸出不是。x的值由主函數(shù)從鍵盤讀入,要求不大于100。說(shuō)明:所謂“同構(gòu)數(shù)”是指這樣的數(shù),這個(gè)數(shù)出現(xiàn)在它的平方數(shù)的右邊。例如:輸入整數(shù)5,5的平方數(shù)是25,5是25中右側(cè)的數(shù),所以5是同構(gòu)數(shù)。程序清單:3(1)#include <stdio.h>main()float a; int b;scanf("%f",&a);b=a*100+0.5;a=b/100.0;printf("a=%7.2f",a);(
10、2)#include <stdio.h>main()char ch;pintf("press a key and then press enter");ch=getchar();if(ch>'A'&&ch<'Z');ch=ch+32;putchar(ch);printf(“n”);(3)#include <stdio.h>main()float x,y;scanf("%f",&x);if(x<0)y=x*x+x+6;else if(x<10&&
11、amp;x!=2.0&&x!=3.0)y=x*x-5*x+6;elsey=x*x-x-1; printf("%f",y);(4)#include <stdio.h> main()int n,s;scanf("%d",&s);if(s<500)n=1;else if(s<1000)n=2;else if(s<2000)n=3;else if(s<3000)n=4;elsen=5;switch(n) case 1':printf("%d",s);break;case 2&
12、#39;:s=s*(1-5%);printf("%d",s);break;case 3':s=s*(1-8%);printf("%d",s);break;case 4':s=s*(1-10%);printf("%d",s);break;case 5':s=s*(1-15%);printf("%d",s);break;default:print("invalid operator!n");四、實(shí)驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)1 (1)輸入 1 2 2 Sum=5(2)
13、* (3)k=0五、實(shí)驗(yàn)體會(huì)(遇到問(wèn)題及解決辦法,編程后的心得體會(huì))實(shí)驗(yàn)項(xiàng)目名稱: 中級(jí)程序設(shè)計(jì) 實(shí)驗(yàn)學(xué)時(shí): 8 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績(jī): 批改教師: 批改時(shí)間: 實(shí)驗(yàn)2 中級(jí)程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康暮鸵螅?)掌握函數(shù)的定義、調(diào)用及返回、聲明的應(yīng)用;(2)熟練掌握一維數(shù)組的定義、初始化及使用;(3)掌握二維數(shù)組的定義、初始化及應(yīng)用;(4)熟練掌握向函數(shù)傳遞一維數(shù)組的方法和應(yīng)用;(5)掌握向函數(shù)傳遞一維數(shù)組的方法和應(yīng)用。二、實(shí)驗(yàn)儀器和設(shè)備奔騰以上計(jì)算機(jī),裝有windows XP以上版本操作系統(tǒng)和Visual C+ 6.0軟件。三、實(shí)驗(yàn)內(nèi)容與過(guò)程1、程序調(diào)試#include
14、 <stdio.h>int func(int a,int b) return(a+b); main()int x=3,y=8,z=4,r; r=func(func(x,y),z); printf(“r=%dn”,r);2、程序改錯(cuò)要求:1、改錯(cuò)時(shí),只允許修改現(xiàn)有語(yǔ)句中的一部分內(nèi)容,不允許添加和刪除語(yǔ)句。2、提示行下一行為錯(cuò)誤行。(1) 功能:判斷m是否為素?cái)?shù),若是返回1,否則返回0。#include <stdio.h>/*FOUND*/void fun( int n) int i,k=1; if(m<=1) k=0;/*FOUND*/ for(i=1;i<m
15、;i+)/*FOUND*/ if(m%i=0) k=0;/*FOUND*/ return m;void main() int m,k=0; for(m=1;m<100;m+) if(fun(m)=1) printf("%4d",m);k+; if(k%5=0) printf("n"); (2)功能:在一個(gè)已按升序排列的數(shù)組中插入一個(gè)數(shù),插入后,數(shù)組元素仍按升序排列。#include <stdio.h>#define N 11main() int i,number,aN=1,2,4,6,8,9,12,15,149,156; printf(
16、"please enter an integer to insert in the array:n"); /*FOUND*/ scanf("%d",&number) printf("The original array:n"); for(i=0;i<N-1;i+) printf("%5d",ai); printf("n"); /*FOUND*/ for(i=N-1;i>=0;i-) if(number<=ai) /*FOUND*/ ai=ai-1; else ai+1=
17、number; /*FOUND*/ continue; if(number<a0) a0=number; printf("The result array:n"); for(i=0;i<N;i+) printf("%5d",ai); printf("n");(3)找出一個(gè)二行三列二維數(shù)組中的最大值,輸出該最大值及其行列下標(biāo),建議二維數(shù)組值由初始化給出。 #include "stdio.h"#include "conio.h"main() int i,j,max,s,t;/*FOUND
18、*/ int a2=1,34,23,56,345,7; clrscr();/*FOUND*/ max=0; s=t=0; for(i=0;i<2;i+)/*FOUND*/ for(j=1;j<3;j+) if(aij>max) max=aij; s=i; t=j; /*FOUND*/ printf("max=a%d%d=%dn",i,j,max);3、程序設(shè)計(jì)說(shuō)明,所有題目均需添加main(),在main()中調(diào)用子函數(shù)并設(shè)計(jì)完整的輸入輸出才可調(diào)試通過(guò)。(1) 功能:編寫(xiě)函數(shù)float fun(int n),求一分?jǐn)?shù)序列2/1,3/2,5/3,8/5,13
19、/8,21/13的前n項(xiàng)之和。說(shuō)明:每一分?jǐn)?shù)的分母是前兩項(xiàng)的分母之和,每一分?jǐn)?shù)的分子是前兩項(xiàng)的分子之和。例如:求前20項(xiàng)之和的值為32.660259。(2)完成子函數(shù)int fun(int n),找出一個(gè)大于給定整數(shù)且緊隨這個(gè)整數(shù)的素?cái)?shù),并作為函數(shù)值返回。 說(shuō)明,以下四個(gè)關(guān)于數(shù)組的題目,可以先用一個(gè)main()函數(shù)實(shí)現(xiàn),然后相關(guān)內(nèi)容學(xué)習(xí)后再利用數(shù)組作函數(shù)參數(shù)的子函數(shù)和main()函數(shù)共同實(shí)現(xiàn)。(3)功能:編寫(xiě)函數(shù)void fun(int n,int a),按順序?qū)⒁粋€(gè)4位的正整數(shù)每一位上的數(shù)字存到一維數(shù)組,然后在主函數(shù)輸出。例如輸入5918,則輸出結(jié)果為 5 9 1 8。(4)功能:編寫(xiě)函數(shù)v
20、oid fun(int arr,int n)將一個(gè)數(shù)組中的值按逆序存放,并在main()函數(shù)中輸出。例如:原來(lái)存順序?yàn)?8,2,50,43,69。要求改為:69,43,50,2,18。(5) 功能:程序定義了N×N的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫(xiě)函數(shù)void fun(int aN,int n),使數(shù)組a左下三角元素中的值乘以任意整數(shù)n。例如:若n的值為2,a數(shù)組中的值為 | 1 9 7 | | 2 9 7 | a = | 2 3 8 | 則返回主程序后a數(shù)組中的值應(yīng)為 | 4 6 8 | | 4 5 6 | | 8 10 12|(6)功能:編寫(xiě)函數(shù)void fun(int a
21、rray33),實(shí)現(xiàn)矩陣(3行3列)的轉(zhuǎn)置(即行列互換)。例如:輸入下面的矩陣: 100 200 300 400 500 600 700 800 900程序輸出: 100 400 700 200 500 800 300 600 900五、實(shí)驗(yàn)注意事項(xiàng)(1)調(diào)用系統(tǒng)庫(kù)函數(shù)要包含相應(yīng)頭文件;(2)函數(shù)可以嵌套調(diào)用,但不可以嵌套定義;(3)注意數(shù)組的越界問(wèn)題;(4)找最大值(最小值)的算法:先將第一個(gè)值認(rèn)為是最大(?。┑模瑱z索以后的值,判斷如果當(dāng)前數(shù)組元素值比保留在變量中的最大(?。┲荡螅ㄐ。瑒t用當(dāng)前數(shù)組元素值替換該變量中的值。六、討論、思考題1、功能:編寫(xiě)函數(shù)float fun(),利用以簡(jiǎn)單迭
22、代方法Xn+1=cos(Xn)求方程:cos(x)-x=0的一個(gè)實(shí)根。迭代步驟如下: (1)取x1初值為0.0; (2)x0=x1,把x1的值賦給x0; (3)x1=cos(x0),求出一個(gè)新的x1; (4)若x0-x1的絕對(duì)值小于0.000001,執(zhí)行步驟(5),否則執(zhí)行步驟(2); (5)所求x1就是方程cos(x)-x=0的一個(gè)實(shí)根,作為函數(shù)值返回。 輸出:程序?qū)⑤敵鼋Y(jié)果Root=0.739085。2、功能:編寫(xiě)float fun(float array,int n),統(tǒng)計(jì)出若干個(gè)學(xué)生的平均成績(jī),最高分以及得最高分的人數(shù)。例如:輸入10名學(xué)生的成績(jī)分別為92,87,68,56,92,84
23、,67,75,92,66,則輸出平均成績(jī)?yōu)?7.9,最高分為92,得最高分的人數(shù)為3人。3、編寫(xiě)函數(shù) int fun(int lim,int aaMAX),該函數(shù)的功能是求出小于lim的所有素?cái)?shù)并放在aa數(shù)組中,該函數(shù)返回求出素?cái)?shù)的個(gè)數(shù)。4、功能:編寫(xiě)函數(shù)int fun(int aMM),求5行5列矩陣的主、副對(duì)角線上元素之和。注意,兩條對(duì)角線相交的元素只加一次。5、功能:請(qǐng)編一個(gè)函數(shù)void fun(int ttMN,int ppN),tt指向一個(gè)M行N列的二維數(shù)組,求出二維數(shù)組每列中最小元素,并依次放入pp所指一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中賦予。程序清單及流程圖:四、實(shí)驗(yàn)結(jié)果與分析
24、(程序運(yùn)行結(jié)果及其分析)五、實(shí)驗(yàn)體會(huì)(遇到問(wèn)題及解決辦法,編程后的心得體會(huì))實(shí)驗(yàn)項(xiàng)目名稱: 高級(jí)程序設(shè)計(jì) 實(shí)驗(yàn)學(xué)時(shí): 6 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績(jī): 批改教師: 批改時(shí)間: 實(shí)驗(yàn)3 高級(jí)程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康暮鸵螅?)理解C語(yǔ)言中指針的本質(zhì),區(qū)分指針與指針變量,掌握有關(guān)指針的應(yīng)用;(2)熟練掌握字符串常量和字符串的存儲(chǔ)及字符串處理函數(shù)的使用;(3)掌握字符指針的定義、使用等;(4)掌握向函數(shù)傳遞字符串的方法;二、實(shí)驗(yàn)儀器和設(shè)備奔騰以上計(jì)算機(jī),裝有windows XP以上版本操作系統(tǒng)和Visual C+ 6.0軟件。三、實(shí)驗(yàn)內(nèi)容與過(guò)程1、程序調(diào)試(1) main() in
25、t a=10,b=20,x,*pa,*pb; pa=&a;pb=&b; printf(“%d,%d,%d,%d”,a,b,*pa,*pb); x=*pa;*pa=*pb;*pb=x; printf(“%d,%d,%d,%d”,a,b,*pa,*pb); (2) main() int a=10,b=20,*p,*pa=&a,*pb=&b; printf(“%d,%d,%d,%d”,a,b,*pa,*pb);p=pa;pa=pb;pb=p;printf(“%d,%d,%d,%d”,a,b,*pa,*pb); (3) int *swap(int *a,int *b)
26、int *p; p=a; a=b; b=p;return(a);main()int x=3,y=4,z=5; swap(swap(&x,&y),&z); printf(“%d,%d,%d”,x,y,z);思考:上面程序中函數(shù)swap()預(yù)將兩個(gè)數(shù)的值相互交換,但結(jié)果為什么沒(méi)有交換?2、程序改錯(cuò)要求:1、改錯(cuò)時(shí),只允許修改現(xiàn)有語(yǔ)句中的一部分內(nèi)容,不允許添加和刪除語(yǔ)句。2、提示行下一行為錯(cuò)誤行。(1)功能:為一維數(shù)組輸入10個(gè)整數(shù);將其中最小的數(shù)與第一個(gè)數(shù)對(duì)換,將最大的數(shù)與最后一個(gè)數(shù)對(duì)換,輸出數(shù)組元素。#include <stdio.h>void input(i
27、nt *arr,int n) int *p,i; p=arr; printf("please enter 10 integers:n"); for(i=0;i<n;i+) /*ERROR*/ scanf("%d",p);void max_min(int *arr,int n) int *min,*max,*p,t; min=max=arr; for(p=arr+1;p<arr+n;p+) /*ERROR*/ if(*p<*max) max=p; else if(*p<*min) min=p; t=*arr;*arr=*min;*m
28、in=t;/*ERROR*/ if(max=arr) max=min; t=*(arr+n-1); *(arr+n-1)=*max; *max=t;void output(int *arr,int n) int *p,i; p=arr; printf("The changed array is:n"); /*ERROR*/ while(i=0;i<n;i+) printf("%3d",*p+); printf("n");main() int a10; input(a,10); max_min(a,10); output(a,10
29、);(2)功能:將s所指字符串的反序和正序進(jìn)行連接形成一個(gè)新串放在t所指的數(shù)組中。例如:當(dāng)s所指的字符串的內(nèi)容為"ABCD"時(shí),t所指數(shù)組中的內(nèi)容為"DCBAABCD"。#include <conio.h>#include <stdio.h>#include <string.h>/*FOUND*/void fun (char s, char t) int i, d; /*FOUND*/ d = len(s); /*FOUND*/ for (i = 1; i<d; i+) ti = sd - 1 - i ; for
30、 (i = 0; i<d; i+) t d + i = si; /*FOUND*/ t2*d = '/0'main() char s100, t100; printf("nPlease enter string S:"); scanf("%s", s); fun(s, t); printf("nThe result is: %sn", t);3、程序設(shè)計(jì)說(shuō)明,所有要求子函數(shù)的題目均需添加main(),在main()中調(diào)用子函數(shù)并設(shè)計(jì)完整的輸入輸出才可調(diào)試通過(guò)。(1) 編寫(xiě)一main()函數(shù),要求利用指針,實(shí)現(xiàn)從鍵
31、盤輸入三個(gè)數(shù),然后按照由小到大的順序輸出此三個(gè)數(shù)。(2) 功能:編寫(xiě)函數(shù)float fun ( float *a , int n ),用來(lái)計(jì)算n門課程的平均分,結(jié)果作為函數(shù)值返回。其中數(shù)組a中保存了n門課程的分?jǐn)?shù)。例如:若有5門課程的成績(jī)是:90.5,72,80,61.5,55,則函數(shù)的值為:71.80。(3)功能:請(qǐng)編寫(xiě)一個(gè)函數(shù) void fun(int *s, int n, int *k),用來(lái)求出數(shù)組s中的最大元素在數(shù)組中的下標(biāo), 用k帶回。其中n為主函數(shù)數(shù)組中的數(shù)據(jù)個(gè)數(shù)。 例如:在主函數(shù)中輸入如下整數(shù):876 675 896 101 301 401 980 431 451 777 則在
32、主函數(shù)中輸出結(jié)果為: 6, 980 (4) 功能:編寫(xiě)函數(shù)void len_cat(char c1,char c2)將第二個(gè)串連接到第一個(gè)串之后,不允許使用strcat函數(shù)。(5) 功能:編寫(xiě)函數(shù)void fun(char *str,char ch)從字符串str中刪除指定的字符ch。要求:本問(wèn)題要求用兩種算法分別實(shí)現(xiàn),一是直接刪除算法即查找符合刪除條件的并逐次前移實(shí)現(xiàn);二是間接刪除算法即查找不符合刪除條件的并保留下來(lái),而保留的方法可以采用利用本數(shù)組和引入臨時(shí)數(shù)組兩種實(shí)現(xiàn)。說(shuō)明:該字符可能多次和連續(xù)出現(xiàn),算法應(yīng)全面考慮。(6) 功能:編寫(xiě)函數(shù)long fun ( char *p),將一個(gè)數(shù)字字
33、符串轉(zhuǎn)換為一個(gè)整數(shù)(不得調(diào)用C語(yǔ)言提供的將字符串轉(zhuǎn)換為整數(shù)的函數(shù))。例如:若輸入字符串"-1234",則函數(shù)把它轉(zhuǎn)換為整數(shù)值 -1234。五、實(shí)驗(yàn)注意事項(xiàng)1、對(duì)計(jì)算機(jī)執(zhí)行程序過(guò)程中分配存儲(chǔ)空間及地址的理解;2、變量的直接引用與間接引用的區(qū)別;3、字符串的結(jié)束標(biāo)志是0,通常以此作為控制循環(huán)的條件。六、討論、思考題(1)功能:請(qǐng)編寫(xiě)函數(shù)void fun(char (*s)N, char *b),將M行N列的二維數(shù)組中的字符數(shù)據(jù)按列的順序依次放到一個(gè)字符串中。 例如:二維數(shù)組中的數(shù)據(jù)為: W W W W S S S S H H H H 則字符串中的內(nèi)容應(yīng)是:WSHWSHWSHWS
34、H。(2)功能:編寫(xiě)函數(shù)void fun(char str,int i,int n),從字符串str中刪除第i個(gè)字符開(kāi)始的連續(xù)n個(gè)字符(注意:str0代表字符串的第一個(gè)字符)。(3)功能:編寫(xiě)函數(shù)void fun(char *s,char t),將s所指字符串中除了下標(biāo)為奇數(shù)、同時(shí)ASCII值也為奇數(shù)的字符之外,其余的所有字符都刪除,串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。 例如:若s所指字符串中的內(nèi)容為:"ABCDEFG12345",其中字符A的ASCII碼值雖為奇數(shù),但所在元素的下標(biāo)為偶數(shù),因此必需刪除;而字符1的ASCII碼值為奇數(shù),所在數(shù)組中的下標(biāo)也為奇數(shù),
35、因此不應(yīng)當(dāng)刪除,其他依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是:"135"。(4) 功能:請(qǐng)編寫(xiě)函數(shù)int fun( char *s),統(tǒng)計(jì)一行字符串中單詞的個(gè)數(shù)作為函數(shù)值返回。規(guī)定所有單詞由小寫(xiě)字母組成,單詞之間由若干個(gè)空格隔開(kāi),一行的開(kāi)始沒(méi)有空格。(5)功能:編寫(xiě)函數(shù)void fun(char s)將一個(gè)由四個(gè)數(shù)字組成的字符串轉(zhuǎn)換為每?jī)蓚€(gè)數(shù)字間有一個(gè)空格的形式輸出。例如:輸入“4567”,應(yīng)輸出“4567”(表示空格)。程序清單及流程圖:四、實(shí)驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)五、實(shí)驗(yàn)體會(huì)(遇到問(wèn)題及解決辦法,編程后的心得體會(huì))實(shí)驗(yàn)項(xiàng)目名稱: 構(gòu)造類型程序設(shè)計(jì) 實(shí)驗(yàn)學(xué)時(shí):
36、 4 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績(jī): 批改教師: 批改時(shí)間: 實(shí)驗(yàn)4 構(gòu)造類型程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康暮鸵螅?)熟悉結(jié)構(gòu)體和共同體的概念;(2)熟悉并掌握結(jié)構(gòu)體變量、數(shù)組和共同體變量的定義、賦值與使用;(3)掌握結(jié)構(gòu)體指針的定義與引用;(4)掌握鏈表的概念,初步學(xué)會(huì)對(duì)鏈表進(jìn)行操作;(5)熟悉文件打開(kāi)、關(guān)閉、寫(xiě)入、讀出的方法;學(xué)會(huì)使用文件操作函數(shù)。二、實(shí)驗(yàn)儀器和設(shè)備奔騰以上計(jì)算機(jī),裝有windows XP以上版本操作系統(tǒng)和Visual C+ 6.0軟件。三、實(shí)驗(yàn)內(nèi)容與過(guò)程1、程序調(diào)試(1) struct aaint x,*y;*p;int a810,20,30,40,50,60
37、,70,80;struct aa b100,&a1,200,&a3,10,&a5,20,&a7;main()pb;printf(d,*p-y);printf(dn,(p-x);(2) struc STU char name10;int num;void f1(struct STU c) struct STU b=“LiSiGuo”,2042;c=b;void f2(struct STU *c) struct STU b=“SunDan”,2044;*c=b;main( ) struct STU a=“YangSan”,2041,b=“WangYin”,2043;f1(a) ;f2(&b) ;printf(“%d %dn”,a.num,b.num);2、程序設(shè)計(jì)(1)學(xué)生記錄由學(xué)號(hào)和成績(jī)組成,結(jié)構(gòu)體類型定義如下: typedef struct char num10; double s; STREC;功能:a所指向的數(shù)組中有N名學(xué)生的數(shù)據(jù),請(qǐng)編寫(xiě)函數(shù)int fun(STR
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版外銷合同范本:新能源產(chǎn)品海外銷售合作協(xié)議5篇
- 2025年個(gè)人二手車交易車輛交易咨詢及指導(dǎo)服務(wù)協(xié)議2篇
- 2025年度店鋪空間布局優(yōu)化施工合同范本
- 2025版新車銷售與車主關(guān)愛(ài)活動(dòng)合作合同范本2篇
- 2025年度城市綠化工程個(gè)人養(yǎng)護(hù)施工合同4篇
- 2025-2030全球電子合同智能管理服務(wù)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球三環(huán)癸烷二甲醇二甲基丙烯酸酯行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)口服滲透泵行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2024年遼寧中考數(shù)學(xué)臨考押題卷解析版
- 2024年全國(guó)高考語(yǔ)文試題分類匯編:詞語(yǔ)(成語(yǔ)、熟語(yǔ)等)含詳細(xì)解答
- 數(shù)學(xué)-山東省2025年1月濟(jì)南市高三期末學(xué)習(xí)質(zhì)量檢測(cè)濟(jì)南期末試題和答案
- 中儲(chǔ)糧黑龍江分公司社招2025年學(xué)習(xí)資料
- 2024-2025學(xué)年人教版三年級(jí)(上)英語(yǔ)寒假作業(yè)(九)
- 河南退役軍人專升本計(jì)算機(jī)真題答案
- 湖南省長(zhǎng)沙市2024-2025學(xué)年高一數(shù)學(xué)上學(xué)期期末考試試卷
- 船舶行業(yè)維修保養(yǎng)合同
- 駕駛證學(xué)法減分(學(xué)法免分)試題和答案(50題完整版)1650
- 2024年林地使用權(quán)轉(zhuǎn)讓協(xié)議書(shū)
- 物流有限公司安全生產(chǎn)專項(xiàng)整治三年行動(dòng)實(shí)施方案全國(guó)安全生產(chǎn)專項(xiàng)整治三年行動(dòng)計(jì)劃
- 2025屆江蘇省13市高三最后一卷生物試卷含解析
- 2023年漢中市人民政府國(guó)有資產(chǎn)監(jiān)督管理委員會(huì)公務(wù)員考試《行政職業(yè)能力測(cè)驗(yàn)》歷年真題及詳解
評(píng)論
0/150
提交評(píng)論