C語(yǔ)言上機(jī)實(shí)驗(yàn) 答案

上傳人:jun****875 文檔編號(hào):17816943 上傳時(shí)間:2020-12-07 格式:DOC 頁(yè)數(shù):31 大小:122.91KB
收藏 版權(quán)申訴 舉報(bào) 下載
C語(yǔ)言上機(jī)實(shí)驗(yàn) 答案_第1頁(yè)
第1頁(yè) / 共31頁(yè)
C語(yǔ)言上機(jī)實(shí)驗(yàn) 答案_第2頁(yè)
第2頁(yè) / 共31頁(yè)
C語(yǔ)言上機(jī)實(shí)驗(yàn) 答案_第3頁(yè)
第3頁(yè) / 共31頁(yè)

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《C語(yǔ)言上機(jī)實(shí)驗(yàn) 答案》由會(huì)員分享,可在線閱讀,更多相關(guān)《C語(yǔ)言上機(jī)實(shí)驗(yàn) 答案(31頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、實(shí)驗(yàn)一 上機(jī)操作初步(2學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、熟悉VC++語(yǔ)言的上機(jī)環(huán)境及上機(jī)操作過程。 2、了解如何編輯、編譯、連接和運(yùn)行一個(gè)C程序。 3、初步了解C程序的特點(diǎn)。 三、實(shí)驗(yàn)內(nèi)容: 說明:前三題為必做題目,后兩題為選做題目。 1、輸出入下信息:(實(shí)驗(yàn)指導(dǎo)書P79) ************************* Very Good ************************* 2、計(jì)算兩個(gè)整數(shù)的和與積。(實(shí)驗(yàn)指導(dǎo)書P81) 3

2、、從鍵盤輸入一個(gè)角度的弧度值x,計(jì)算該角度的余弦值,將計(jì)算結(jié)果輸出到屏幕。(書P3) 4、在屏幕上顯示一個(gè)文字菜單模樣的圖案: ================================= 1 輸入數(shù)據(jù) 2 修改數(shù)據(jù) 3 查詢數(shù)據(jù) 4 打印數(shù)據(jù) ================================= 5、從鍵盤上輸入兩個(gè)整數(shù),交換這兩個(gè)整數(shù)。 四、實(shí)驗(yàn)步驟與過程: 五、實(shí)驗(yàn)調(diào)試記錄: 六、參考答案: 1、#

3、include void main( ) { printf(“********************\n”); printf(“ Very Good\n”); printf(“********************\n”); } 2、#include void main( ) { int a,b,c,d; printf(“Please enter a,b:”); scanf(“%d,%d”

4、,&a,&b); c=a+b; d=a*b; printf(“%d+%d=%d\n”,a,b,c); printf(“%d*%d=%d\n”,a,b,d); } 3、#include #include void main( ) { double x,s; printf(“Please input value of x:”); scanf(“%lf”,&x); s=cos(x);

5、 printf(“cos(%lf)=%lf\n”,x,s); } 4、#include void main( ) { printf(“==================================\n”); printf(“ 1 輸入數(shù)據(jù) 2 修改數(shù)據(jù)\n”); printf(“ 3 查詢數(shù)據(jù) 4 打印數(shù)據(jù)\n”); printf(“===================================\n”); }

6、 5、#include void main( ) { int x,y,t; printf(“Please enter x and y:”); scanf(“%d%d”,&x,&y); t=x; x=y; y=t; printf(“After swap:x=%d,y=%d\n”,x,y); } 實(shí)驗(yàn)二 簡(jiǎn)單的C程序設(shè)計(jì)(4學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、掌握C語(yǔ)言的數(shù)據(jù)類型。 2、學(xué)會(huì)使用C語(yǔ)言的運(yùn)算符及表達(dá)式。

7、 3、掌握不同數(shù)據(jù)類型的輸入輸出方法。 三、實(shí)驗(yàn)內(nèi)容: 說明:前四題為必做題目,后兩題為選做題目。 1、輸入r1、r2,求出圓形墊片面積。(實(shí)驗(yàn)指導(dǎo)書P84) 2、輸入華氏溫度h,輸出攝氏溫度c。(實(shí)驗(yàn)指導(dǎo)書P85) 3、從鍵盤輸入一個(gè)3位整數(shù),將輸出該數(shù)的逆序數(shù)。(實(shí)驗(yàn)指導(dǎo)書P89) 4、輸入并運(yùn)行以下程序,分析運(yùn)行結(jié)果。 #include void main( ) { int i,j; i=8; j=10; printf(“%d,%d\n”,++i,++j); i=8

8、; j=10; printf(“%d,%d\n”,i++,j++); i=8; j=10; printf(“%d,%d\n”,++i,i); i=8; j=10; printf(“%d,%d\n”,i++,i); } 5、輸入三角形三條邊的邊長(zhǎng),求三角形的面積。(書P55) 6、輸入3個(gè)字符型數(shù)據(jù),將其轉(zhuǎn)換成相應(yīng)的整數(shù)后,求它們的平均值并輸出。(書P55) 四、實(shí)驗(yàn)步驟與過程: 五、實(shí)驗(yàn)調(diào)試記錄: 六、參考答案: 1、#include #define PI 3.14

9、 void main( ) { float r1,r2; double s1,s2,s; printf(“Please enter r1,r2:\n”); scanf(“%f%f”,&r1,&r2); s2=r2*r2*PI; s1=r1*r1*PI; s=s2-s1; printf(“s=%lf\n”,s); } 2、#include void main( ) { float h,c;

10、 printf(“請(qǐng)輸入華氏溫度:”); scanf(“%f”,&h); c=5.0/9*(h-32); printf(“\n攝氏溫度:%f\n”,c); } 3、#include void main( ) { int a,b,c,x,y; printf(“請(qǐng)輸入一個(gè)3位的正整數(shù):\n”); scanf(“%d”,&x); a=x/100; /*求x的百位數(shù)*/ b=(x-a

11、*100)/10; /*求x的十位數(shù)*/ c=x-a*100-b*10; /*求x的個(gè)位數(shù)*/ y=c*100+b*10+a; printf(“%d:%d\n”,x,y); } 4、運(yùn)行結(jié)果:9,11 8,10 9,8 8,8 5、#include #include void main( ) { int a,b,c; double area,s;

12、 printf(“Please enter a,b,c:”); scanf(“%d,%d,%d”,&a,&b,&c); s=(double)(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“area=%.2lf\n”,area); } 6、#include void main( ) { char a,b,c; float x; printf(“Please enter:\n”);

13、 a=getchar(); b=getchar(); c=getchar(); x=(a+b+c)/3.0; printf(“(a+b+c)/3=%.2f\n”,x); } 實(shí)驗(yàn)三 選擇結(jié)構(gòu)程序設(shè)計(jì)(2學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、熟練掌握if語(yǔ)句和switch語(yǔ)句。 2、練習(xí)并掌握多分支選擇結(jié)構(gòu)的編程方法。 3、學(xué)習(xí)調(diào)試和修改程序的步驟。 三、實(shí)驗(yàn)內(nèi)容: 說明:前三題為必做題目,后兩題為選做題目。 1、讀入3個(gè)分別表示箱子長(zhǎng)、寬、高的整數(shù)值,判斷并輸出該箱

14、子是立方體還是長(zhǎng)方體。(實(shí)驗(yàn)指導(dǎo)書P104) 2、輸入某一年月,輸出該月的天數(shù)。(實(shí)驗(yàn)指導(dǎo)書P105) 3、有一函數(shù): x (x<1) y= 2x-1 (1≤x<10) 3x-11 (x≥10) 編寫程序,輸入x值,輸出y值。 4、從鍵盤輸入一個(gè)字符,如果該字符為小寫字母,則轉(zhuǎn)換為大寫字母輸出;如果該字符為大寫字母,則轉(zhuǎn)換為小寫字母輸出;如果為其他字符,原樣輸出。(書P94) 5、輸入4個(gè)整數(shù),要求按由小到大的順序輸出。 四、實(shí)驗(yàn)步驟與過程: 五、實(shí)驗(yàn)調(diào)試記錄: 六、參考答案: 1、#incl

15、ude void main( ) { int l,w,h; printf(“請(qǐng)輸入箱子的長(zhǎng)、寬、高:\n”); scanf(“%d%d%d”,&l,&w,&h); if(l==w&&w==h) /*如果長(zhǎng)、寬、高相等,則為立方體*/ printf(“該箱子是立方體。”); else printf(“該箱子是長(zhǎng)方體。”); } 2、#include void main( )

16、 { int year,month,days; printf(“Please enter year and month:\n”); switch(month) { case 2: if(year%4==0&&year%100!=0||year%400==0) days=29; else days=28; brea

17、k; case 1:case 3:case 5:case 7:case 8:case 10:case 12: days=31; break; case 4: case 6: case 9: case 11: days=30; } printf(“%d年%d月有%d天\n”,year,month,days); } 3、#include void main( ) { float x,y; printf(“Please input x:\n”);

18、 scanf(“%f”,&x); if(x<1) y=x; else if(x<10) y=2*x-1; else y=3*x-11; printf(“y=%f\n”,y); } 4、#include void main( ) { char x; printf(“Enter a char:\n”);

19、 x=getchar(); if(x>=‘a(chǎn)’&&x<=‘z’) x=x-32; else if(x>=‘A’&&x<=‘Z’) x=x+32; putchar(x); } 5、#include void main( ) { int a,b,c,d,t; printf(“請(qǐng)輸入4個(gè)整數(shù):”); scanf(“%d%d%d%d”,&a,&b,&c,&d); if(a>b) { t=a; a=b; b=t; } if(a

20、>c) { t=a; a=c; c=t; } if(a>d) { t=a; a=d; d=t; } if(b>c) { t=b; b=c; c=t; } if(b>d) { t=b; b=d; d=t; } if(c>d) { t=c; c=d; d=t; } printf(“排序結(jié)果如下:\n”); printf(“%d,%d,%d,%d\n”,a,b,c,d); } 實(shí)驗(yàn)四 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(4學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī)

21、 二、實(shí)驗(yàn)?zāi)康模? 1、熟練掌握while語(yǔ)句、do-while語(yǔ)句和for語(yǔ)句。 2、練習(xí)并掌握循環(huán)結(jié)構(gòu)的嵌套形式。 3、掌握循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)方法。 三、實(shí)驗(yàn)內(nèi)容: 說明:前四題為必做題目,后兩題為選做題目。 1、從鍵盤上輸入若干個(gè)學(xué)生的成績(jī),統(tǒng)計(jì)并輸出最高成績(jī)和最低成績(jī),當(dāng)輸入負(fù)數(shù)時(shí)結(jié)束輸入。(實(shí)驗(yàn)指導(dǎo)書P117) 2、求所有的水仙花數(shù)。水仙花數(shù)是一個(gè)3位數(shù)的自然數(shù),該數(shù)各位數(shù)的立方和等于該數(shù)本身。(實(shí)驗(yàn)指導(dǎo)書P118) 3、判斷輸入的某個(gè)數(shù)是否為素?cái)?shù)。若是,輸出YES,否則輸出NO。(書P123) 4、計(jì)算π的近似值。公式如下:π/4=1-1/3+1/5-1/7

22、+……,直到最后一項(xiàng)的絕對(duì)值小于10-6為止。(書P123)‘ 5、計(jì)算 s=1!+2!+……+20! 的值并輸出。 6、輸入10個(gè)整數(shù),統(tǒng)計(jì)并輸出其中正數(shù)、負(fù)數(shù)和零的個(gè)數(shù)。 四、實(shí)驗(yàn)步驟與過程: 五、實(shí)驗(yàn)調(diào)試記錄: 六、參考答案: 1、#include void main( ) { float x,max,min; printf(“Please input scores:”); scanf(“%f”,&x); max=min=x;

23、 while(x>=0) { if(x>max) max=x; if(x void main( ) { int x,y,z; int k=100; while(k<=999) { x=k/

24、100; y=(k-x*100)/10; z=k-x*100-y*10; if(k==x*x*x+y*y*y+z*z*z) printf(“%d\n”,k); k++; } } 3、#include #include void main( ) { int i,x,yes,a; printf(“Enter integ

25、er number:”); scanf(“%d”,&x); yes=1; i=2; a=(int)sqrt((double)x); while(yes&&i<=a) { if(x%i==0) yes=0; i++; } printf(“%d”,x); if(yes) printf(“YES\n”); else printf(“NO\n”); } 4、#include

26、 #include void main( ) { float pi,t,n; int sign=1; pi=0; n=1; t=1; while(fabs(t)>=1e-6) { t=sign/n; pi+=t; n+=2; sign=-sign; } pi=pi*4; printf(“pi=%f\n”,pi); }

27、 5、#include void main( ) { float s=0,t=1; int n; for(n=1;n<=20;n++) { t=t*n; s=s+t; } printf(“1!+2!+……+20!=%f\n”,s); } 6、#include void main( ) { int x,i,a1=0,b1=0,c1=0; for(i=1

28、;i<=10;i++) { printf(“\n請(qǐng)輸入第%d個(gè)數(shù):”,i); scanf(“%d”,&x); if(x>0) a1++; else if(x<0) b1++; else c1++; } printf(“整數(shù)有%d個(gè),負(fù)數(shù)有%d個(gè),零有%d個(gè)\n”,a1,b1,c1); } 實(shí)驗(yàn)五 綜合實(shí)驗(yàn)1:結(jié)構(gòu)化程序設(shè)計(jì)(2學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、進(jìn)一步掌握選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)的編程特點(diǎn)。 2、掌握C語(yǔ)言的結(jié)構(gòu)化程序設(shè)計(jì)思想。 3、學(xué)習(xí)利用循環(huán)結(jié)構(gòu)實(shí)現(xiàn)的一些常用

29、算法(如窮舉、迭代、遞推等)。 三、實(shí)驗(yàn)內(nèi)容: 說明:前兩題為必做題目,后兩題為選做題目。 1、編一程序,對(duì)于給定的一個(gè)百分制成績(jī),輸出對(duì)應(yīng)A,B,C,D,E表示的的等級(jí)成績(jī)。設(shè):90分以上為A,80-89分為B,70-79分為C,60-69分為D,60分以下為E。(書P93) 2、百馬百擔(dān)問題。(實(shí)驗(yàn)指導(dǎo)書P121) 3、輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其他字符的個(gè)數(shù)。 4、輸出如下圖案: * *** ***** *******

30、 ***** *** * 四、實(shí)驗(yàn)步驟與過程: 五、實(shí)驗(yàn)調(diào)試記錄: 六、參考答案: 1、#include void main( ) { int score,temp,logic; char grade; logic=1; while(logic) { printf(“Input score:”); scanf(“%d”,&score); if(sc

31、ore>100||score<0) printf(“\nError,Input again!\n”); else logic=0; printf(“\n”); } if(score==100) temp=9; else temp=score/10; switch(temp) { case 9: grade=‘A’;break; case 8: grade=‘B’;break; case 7: grade=‘C’;break; case 6: grade=‘

32、D’;break; default: grade=‘E’; } printf(“Score is %d,the grade is %c.\n”,score,grade); } 2、#include void main( ) { int m,n,k; int sum=0; printf(“各種馱法如下:\n”); for(m=1;m<=100;m++) for(n=1;n<=100-m;n++) { k=

33、100-m-n; if(k%2==0&&m*3+n*2+k/2==100) { printf(“大馬%3d匹;中馬%3d匹;小馬%3d匹.\n”,m,n,k); sum++; } } printf(“共有%d種馱法.\n”,sum); } 3、#include void main( ) { char c; int letter=0,space=0,digit=0,other=

34、0; printf(“請(qǐng)輸入一行字符:\n”); while((c=getchar( ))!=‘\n’) { if(c>=‘a(chǎn)’&&c<=‘z’||c>=‘A’&&c<=‘Z’) letter++; else if(c==‘ ’) space++; else if(c>=‘0’&&c<=‘9’) digit++; else other++; } printf(“字母數(shù)=%d,空格數(shù)=%d\n”,letter,space

35、); printf(“數(shù)字?jǐn)?shù)=%d,其他字符數(shù)=%d\n”,digit,other); } 4、#include void main( ) { int i,j,k; for(i=0;i<=3;i++) { for(j=0;j<=2-i;j++) printf(“ ”); for(k=0;k<=2*i;k++) printf(“*”); printf(“\n”); } for(i=0;i<=2;i++) { for(j=0;j<=i;j++) printf(“ ”); for(k=0;k<=4-2*i

36、;k++) printf(“*”); printf(“\n”); } } 實(shí)驗(yàn)六 函數(shù)程序設(shè)計(jì)(4學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、掌握C語(yǔ)言中函數(shù)的三要素:函數(shù)定義、函數(shù)調(diào)用和函數(shù)說明。 2、掌握通過參數(shù)在函數(shù)間傳遞數(shù)據(jù)的方法。 3、掌握全局變量、局部變量、動(dòng)態(tài)變量、靜態(tài)變量的概念和使用方法。 三、實(shí)驗(yàn)內(nèi)容: 說明:前四題為必做題目,后兩題為選做題目。 1、從鍵盤輸入三角形的3條邊,調(diào)用三角形面積函數(shù)求出其面積,并輸出結(jié)果。(實(shí)驗(yàn)指導(dǎo)書P130) 2、輸入整數(shù)n,輸出高度為n的等邊三角形。當(dāng)n=5時(shí)的等邊三角形如下:(實(shí)驗(yàn)指導(dǎo)書P1

37、34) * *** ***** ******* ********* 3、輸入并運(yùn)行以下程序,分析運(yùn)行結(jié)果。 #include int a=5; int b=7; void main( ) { int a=4,b=5,c; c=plus(a,b); printf(“a+b=%d\n”,c); } plus(int x,int y) { int z; z=x+y; return (z); } 4、求500以內(nèi)的所有親密數(shù)對(duì)。若正整數(shù)

38、A的所有因子(包括1但不包括自身,下同)之和為B,而B的因子之和為A,則稱A和B為一對(duì)親密數(shù)對(duì)。(實(shí)驗(yàn)指導(dǎo)書P136) 5、輸入并運(yùn)行以下程序,分析運(yùn)行結(jié)果。 #include int d=1; fun(int p) { static int d=5; d+=p; printf(“%d ”,d); return (d); } void main( ) { int a=3; printf(“%d ”,fun(a+fun(d))); } 6、設(shè)計(jì)一個(gè)函數(shù)

39、,輸出整數(shù)n的所有素?cái)?shù)因子。(書P157) 四、實(shí)驗(yàn)步驟與過程: 五、實(shí)驗(yàn)調(diào)試記錄: 六、參考答案: 1、#include #include float area(float a,float b,float c) { float s,p,area; s=(a+b+c)/2; p=s*(s-a)*(s-b)*(s-c); area=sqrt(p); return (area); } void main( ) { floa

40、t x,y,z,ts; scanf(“%f%f%f”,&x,&y,&z); if(x>0&&y>0&&z>0&&x+y>z&&y+z>x&&x+z>y) { ts=area(x,y,z); printf(“area=%f\n”,ts); } else printf(“data error!\n”); } 2、#include void trangle(int n) { int i,j; for(i=0;i<

41、n;i++) { for(j=0;j<=n-i;j++) putchar(‘ ’); /*打印每一行的空格*/ for(j=0;j<=2*i;j++) putchar(‘*’); /*打印每一行的*號(hào)*/ putchar(‘\n’); } } void main( ) { int n; printf(“Please enter n:”); scanf(“%d”,&n); printf(“\n”); trangle(n); } 3、a+b=9 4、#include

42、o.h> int facsum(int m) { int sum=1,f=2; while(f<=m/2) { if(m%f==0) sum=sum+f; f++; } return sum; } void main( ) { int m=3,n,k; while(m<=500) { n=facsum(m); k=facsum(n); if(m==k&&m<=n) printf(“

43、%d,%d\n”,m,n); m++; } } 5、6 15 15 6、#include int prime(int n) { int i,flag=1; for(i=2;i<=n/2;i++) if(n%i==0) { flag=0; retun flag; } return flag; } void factor(int n) { int i; i=2; while(i<=n)

44、 { if((n%i==0)&&prime(i)) { printf(“%d ”,i); n=n/i; continue; } i++; } } void main( ) { int num; printf(“Enter num:”); scanf(“%d”,&num); printf(“prime factor is:\n”); factor(

45、num); } 實(shí)驗(yàn)七 數(shù)組程序設(shè)計(jì)(4學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、掌握數(shù)組的定義、賦值和輸入輸出的方法。 2、學(xué)習(xí)用數(shù)組實(shí)現(xiàn)相關(guān)的算法(特別是排序算法)。 3、掌握C語(yǔ)言中字符數(shù)組和字符串處理函數(shù)的使用。 三、實(shí)驗(yàn)內(nèi)容: 說明:前四題為必做題目,后兩題為選做題目。 1、下列程序的功能是:輸入10個(gè)整數(shù),按每行3個(gè)數(shù)輸出這些整數(shù),最后輸出10個(gè)整數(shù)的平均值。程序中有幾處錯(cuò)誤,試找出它們后加以修改,并上機(jī)驗(yàn)證修改結(jié)果。 #include void main( ) { int i,n,a[10],

46、avg; for(i=0;i

47、數(shù)是從左至右或從右至左讀起來(lái)都是一樣的字符串。(實(shí)驗(yàn)指導(dǎo)書P153) 4、輸入一個(gè)3行3列矩陣的所有元素,然后求出主對(duì)角線元素之和。 5、給定某年某月某日,將其轉(zhuǎn)換成這一年的第幾天并輸出。(實(shí)驗(yàn)指導(dǎo)書P152) 6、編寫程序,在有序的數(shù)列中查找某數(shù),若該數(shù)在此數(shù)列中,則輸出它所在的位置,否則輸出no found。(書P191) 四、實(shí)驗(yàn)步驟與過程: 五、實(shí)驗(yàn)調(diào)試記錄: 六、參考答案: 1、#include void main( ) { int i,n=10,a[10]; float avg=0; for(i

48、=0;i void sort1(int s[ ],int n) { int i,j; int t;

49、 for(i=0;i=i+1;j--) if(s[j]

50、“The sorted 10 numbers:\n”); for(i=0;i<10;i++) printf(“%d ”,a[i]); } 3、#include #include #define N 40 void main( ) { char str[N],ch=‘Y’; int i; int len; printf(“Input a string:\n”); scanf(“%s”,str); len=strlen(s

51、tr); for(i=0;i void main( ) { int

52、a[3][3],sum; int i,j; sum=0; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf(“%d”,&a[i][j]); for(i=0;i<3;i++) sum=sum+a[i][i]; printf(“sum=%d\n”,sum); } 5、#include in

53、t day_tab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31}}; int day_year(int year,int month,int day) { int i,j,s=0; if(year%4==0&&year%100!=0||year%400==0) i=1; else i=0; for(j=1;j

54、=s+day_tab[i][j]; return (s+day); } void main( ) { int y,m,d; printf(“Input year,month and day:\n”); scanf(“%d%d%d”,&y,&m,&d); printf(“是這年的第%d天\n”,day_year(y,m,d)); } 6、#include #define N 10 void main( )

55、 { int a[N]; int num,i; char ch=‘n’; printf(“請(qǐng)輸入一個(gè)數(shù)組:\n”); for(i=0;i

56、 printf(“請(qǐng)輸入一個(gè)數(shù):\n”); scanf(“%d”,&num); printf(“開始查找\n”); for(i=0;i

57、 實(shí)驗(yàn)八 指針程序設(shè)計(jì)(2學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、通過實(shí)驗(yàn)進(jìn)一步掌握指針的概念,會(huì)定義和使用指針變量。 2、能正確使用指向數(shù)組和字符串的指針變量。 3、熟悉指針作為函數(shù)參數(shù)的編程特點(diǎn)。 三、實(shí)驗(yàn)內(nèi)容: 說明:前兩題為必做題目,后兩題為選做題目。要求用指針方法實(shí)現(xiàn)。 1、指針基礎(chǔ)及指針運(yùn)算。(實(shí)驗(yàn)指導(dǎo)書P168) 2、輸入3個(gè)整數(shù),按從小到大的次序輸出。 (書P234) 3、數(shù)據(jù)交換。實(shí)驗(yàn)要求:1)定義兩個(gè)函數(shù),分別為void swap1(int a,int b)和void swap2(int *a,int *b),用于交換a,b的值。2)從

58、主函數(shù)中分別輸入兩個(gè)整型變量a、b。3)從主函數(shù)中分別調(diào)用上述兩個(gè)交換函數(shù),并打印輸出交換后a、b的結(jié)果。(實(shí)驗(yàn)指導(dǎo)書P169) 4、編寫一個(gè)程序計(jì)算字符串長(zhǎng)度的函數(shù),模擬C的函數(shù)庫(kù)內(nèi)的計(jì)算字符串長(zhǎng)度的函數(shù)strlen( )。 四、實(shí)驗(yàn)步驟與過程: 五、實(shí)驗(yàn)調(diào)試記錄: 六、參考答案: 1、#include #include #define N 5 void main( ) { int *p,*q,a[N]; int i,tmp; p=a;

59、 q=(int *)malloc(N*sizeof(int)); printf(“Please input the first group:”); for(i=0;i

60、r(i=0;i*(q+i)) { tmp=*(p+i); *(p+i)=*(q+i); *(q+i)=tmp; }交換 printf(“Result:\n”); for(i=0;i

61、 printf(“The memory address of p,a,q are:%x,%x,%x\n”,p,a,q); free(q); } 2、#include void swap(int *p1,int *p2) { int p; p=*p1; *p1=*p2; *p2=p; } void main( ) { int n1,n2,n3; int *p1,*p2,*p3; printf(“Please input three integer datas:”);

62、scanf(“%d%d%d”,&n1,&n2,&n3); p1=&n1; p2=&n2; p3=&n3; if(n1 void swap1(int x,int y); void swap2(int *x,int *y); vo

63、id main( ) { int a,b; printf(“Please input a=:”); scanf(“%d”,&a); printf(“Please input b=:”); scanf(“%d”,&b); swap1(a,b); printf(“\nAfter call swap1:a=%d b=%d\n”,a,b); swap2(&a,&b); printf(“\nAfter call swap2:a=%d b=%d\n”,a,b); }

64、 void swap1(int x,int y) { int temp; temp=x; x=y; y=temp; } void swap2(int *x,int *y) { int temp; temp=*x; *x=*y; *y=temp; } 4、#include int strlength(char *s); void main( ) { int n1,n2; char *list1=“See no evil,hear no evil.”; char *list2=

65、“blind and deaf?”; n1=strlength(list1); n2=strlength(list2); puts(list1); printf(“The length of list1=%d\n”,n1); puts(list2); printf(“The length of list2=%d\n”,n2); } int strlength(char *s) { int n=0; while(*s!=‘\0’) { n++; s++; }

66、 return n; } 實(shí)驗(yàn)九 綜合實(shí)驗(yàn)2:函數(shù)、數(shù)組、指針的綜合應(yīng)用(2學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、進(jìn)一步掌握通過指針引用數(shù)組元素的方法。 2、綜合運(yùn)用函數(shù)、數(shù)組、指針的知識(shí),實(shí)現(xiàn)復(fù)雜程序的編程。 3、掌握調(diào)試復(fù)雜程序的技巧。 三、實(shí)驗(yàn)內(nèi)容: 說明:前兩題為必做題目,后兩題為選做題目。要求用指針方法實(shí)現(xiàn)。 1、數(shù)組元素奇偶排列。實(shí)驗(yàn)要求:1)定義一個(gè)整型一維數(shù)組,任意輸入數(shù)組的元素,其中包含奇數(shù)和偶數(shù)。2)定義一個(gè)函數(shù),實(shí)現(xiàn)將數(shù)組元素奇數(shù)排列在左,偶數(shù)排列在右的排列。3)在上述定義的函數(shù)中,不允許再增加新的數(shù)組。4)從主函數(shù)中分別調(diào)用上述函數(shù),打印輸出結(jié)果。(實(shí)驗(yàn)指導(dǎo)書P172) 2、編寫函數(shù)lower( )模擬標(biāo)準(zhǔn)函數(shù)strlwr( ),調(diào)用形式為lower(char *st),其作用是將字符串st中的大寫字母轉(zhuǎn)換成小寫。(書P192) 3、編寫函數(shù),比較兩個(gè)字符串是否相等。(書P234) 4、編寫函數(shù)reverse( )模擬標(biāo)準(zhǔn)函數(shù)strrev( ),調(diào)用形式為reverse(char *st),其作用是顛倒字符

展開閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!