指針實(shí)驗(yàn)-陳正寧-2015123349_第1頁(yè)
指針實(shí)驗(yàn)-陳正寧-2015123349_第2頁(yè)
指針實(shí)驗(yàn)-陳正寧-2015123349_第3頁(yè)
指針實(shí)驗(yàn)-陳正寧-2015123349_第4頁(yè)
指針實(shí)驗(yàn)-陳正寧-2015123349_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、淮海工學(xué)院計(jì)算機(jī)科學(xué)系實(shí)驗(yàn)報(bào)告書(shū)課程名: C語(yǔ)言程序設(shè)計(jì) 題 目: 實(shí)驗(yàn)9 指針 班 級(jí): 軟嵌151 學(xué) 號(hào): 2015123349 姓 名: 陳正寧 評(píng)語(yǔ):成績(jī): 指導(dǎo)教師: 批閱時(shí)間: 年 月 日1C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告1、 實(shí)驗(yàn)內(nèi)容或題目(1)設(shè)計(jì)一個(gè)程序,將兩個(gè)變量的值進(jìn)行交換,要求通過(guò)函數(shù)和指針實(shí)現(xiàn)。具體要求:編寫(xiě)一個(gè)函數(shù)swap(int *p,int *q),交換兩個(gè)參數(shù)指針?biāo)傅臄?shù)據(jù),再編寫(xiě)main主函數(shù),通過(guò)調(diào)用swap()函數(shù)將兩個(gè)變量的值進(jìn)行交換。(2)編寫(xiě)一個(gè)程序,判斷用戶輸入的兩個(gè)字符串是否相同,其中字符串可能含有空格等,以回車(chē)鍵表示輸入結(jié)束。(不允許使用strcmp

2、函數(shù))(3)設(shè)計(jì)一個(gè)程序,用選擇法或冒泡法將若干字符串按字母順序進(jìn)行排序。要求用函數(shù)和指針完成。具體要求:編寫(xiě)一個(gè)函數(shù)strsort(char *p,int n),對(duì)一組給定的字符串進(jìn)行排序(非遞減)。其中p的每一個(gè)元素為一個(gè)字符串指針,長(zhǎng)度n。最后編寫(xiě)main主函數(shù)對(duì)下列單詞進(jìn)行排序后輸出:include,define,main,if,else,for,while,switch,break,continue。(4)教材p291頁(yè)習(xí)題的第11題。(5)教材p292頁(yè)習(xí)題的第12、第15第18題。2、實(shí)驗(yàn)?zāi)康呐c要求 進(jìn)一步掌握指針的概念,會(huì)定義和使用指針變量。 能正確地使用數(shù)組的指針和指向數(shù)組的

3、指針變量。 能正確地使用字符串的指針和指向字符串的指針變量。3、 實(shí)驗(yàn)步驟與源程序 實(shí)驗(yàn)步驟(1) 、(2) 、(3) 、(4)、(5-1)、(5-2)、(5-3)、 源代碼(1)、#include <stdio.h>void swap(int *p,int *q) int t; t=*p; *p=*q; *q=t; /交換p1和p2所指向的內(nèi)容 void main()int a,b;int *pointer_1, *pointer_2;printf("請(qǐng)輸入兩個(gè)數(shù)字a b Enter:");scanf("%d%d",&a,&

4、b);pointer_1=&a;pointer_2=&b;swap(pointer_1,pointer_2); /函數(shù)調(diào)用,指針作為實(shí)參 printf("n則交換以后為:%d %dn",a,b);(2)、#include<stdio.h>#include<string.h>int main()char a255='0',b225='0'printf("請(qǐng)輸入第一個(gè)字符串:");gets(a);printf("請(qǐng)輸入第二個(gè)字符串:");gets(b);int i;i

5、f(strlen(a)=strlen(b)for(i=0;i<(int)strlen(a);i+)if(ai!=bi)break;if(i=(int)strlen(a)printf("兩個(gè)字符串相同n");elseprintf("兩個(gè)字符串不相同n");(3)、#include<stdio.h>#include<string.h>void strsort(char *p) int i,j; char *temp; for(i=0;i<9;i+)/注意是i<9 for(j=0;j<9;j+)/注意是j<

6、9,因?yàn)橄旅嬉?1和后面的那個(gè)字符串比較 if(strcmp(pj,pj+1)>0)/字符串比較:>0表示前面的字符串比后面的大則交換 temp=pj; pj=pj+1; pj+1=temp; void print(char *p) int i; for(i=0;i<10;i+) printf("%s ",pi); int main() char*p="include","define","main","if","else","for",

7、"while","switch","break","continue" printf("原來(lái)的序列是:n"); print(p); strsort(p); printf("n排序后的序列是:n"); print(p); printf("nn"); return 0;(4)、#include<stdio.h>#include<string.h>void sort(char *s) char *temp; int i,j; for(i=

8、0;i<9;i+) for(j=0;j<9-i;j+) if(strcmp(*(s+j),*(s+j+1)>0) temp=*(s+j); *(s+j)=*(s+j+1); *(s+j+1)=temp; void main() int i; char str106, *p10; printf("請(qǐng)輸入10個(gè)等長(zhǎng)的字符串:n"); for(i=0;i<10;i+) pi=stri; for(i=0;i<10;i+) scanf("%s",pi); sort(p); printf("則已經(jīng)排好序的字符串為:n"

9、;); for(i=0;i<10;i+) printf("%sn",pi); getchar();(5-1)、#include<stdio.h>#include<string.h>void sort(char *s) char *temp; int i,j; for(i=0;i<9;i+) for(j=0;j<9-i;j+) if(strcmp(*(s+j),*(s+j+1)>0) temp=*(s+j); *(s+j)=*(s+j+1); *(s+j+1)=temp; void main() int i; char str1

10、06, *p10; printf("請(qǐng)輸入10個(gè)不等長(zhǎng)的字符串:n"); for(i=0;i<10;i+) pi=stri; for(i=0;i<10;i+) scanf("%s",pi); sort(p); printf("則已經(jīng)排好序的字符串為:n"); for(i=0;i<10;i+) printf("%sn",pi); getchar();(5-2)、#include <stdio.h>int main()void avsco(float *,float *); void av

11、cour1(char (*)10,float *); void fali2(char course510,int num,float *pscore,float aver4); void good(char course510,int num4,float *pscore,float aver4); int i,j,*pnum,num4; float score45,aver4,*pscore,*paver; char course510,(*pcourse)10;printf("Please input course:");pcourse=course;for (i=0;

12、i<5;i+)scanf("%s",coursei);printf("Please input NO. and scores:n");printf("NO.");for (i=0;i<5;i+)printf(" %s",coursei);printf("n");pscore=&score00;pnum=&num0;for (i=0;i<4;i+)scanf("%d",pnum+i);for (j=0;j<5;j+)scanf("

13、;%f",pscore+5*i+j);paver=&aver0;printf("nn"); avsco(pscore,paver); / 求出每個(gè)學(xué)生的平均成績(jī) avcour1(pcourse,pscore); / 求出第一門(mén)課的平均成績(jī) printf("nn");fali2(pcourse,pnum,pscore,paver); / 找出2門(mén)課不及格的學(xué)生 printf("nn");good(pcourse,pnum,pscore,paver); / 找出成績(jī)好的學(xué)生 return 0;void avsco(flo

14、at *pscore,float *paver) / 求每個(gè)學(xué)生的平均成績(jī)的函數(shù)int i,j;float sum,average;for (i=0;i<4;i+)sum=0.0;for (j=0;j<5;j+)sum=sum+(*(pscore+5*i+j); /累計(jì)每個(gè)學(xué)生的各科成績(jī)average=sum/5; /計(jì)算平均成績(jī)*(paver+i)=average;void avcour1(char (*pcourse)10,float *pscore) / 求第一課程的平均成績(jī)的函數(shù) int i;float sum,average1;sum=0.0;for (i=0;i<

15、4;i+)sum=sum+(*(pscore+5*i); /累計(jì)每個(gè)學(xué)生的得分average1=sum/4; /計(jì)算平均成績(jī)printf("course 1:%s average score:%7.2fn",*pcourse,average1);void fali2(char course510,int num,float *pscore,float aver4) / 找兩門(mén)以上課程不及格的學(xué)生的函數(shù) int i,j,k,labe1;printf(" =Student who is fail in two courses= n");printf(&quo

16、t;NO. ");for (i=0;i<5;i+)printf("%11s",coursei);printf(" averagen");for (i=0;i<4;i+)labe1=0;for (j=0;j<5;j+)if (*(pscore+5*i+j)<60.0) labe1+;if (labe1>=2)printf("%d",numi);for (k=0;k<5;k+)printf("%12.2f",*(pscore+5*i+k);printf("%11.

17、2fn",averi);void good(char course510,int num4,float *pscore,float aver4)/ 找成績(jī)優(yōu)秀學(xué)生(各門(mén)85以上或平均90分以上)的函數(shù) int i,j,k,n;printf(" =Student who is fail in two courses= n"); printf("NO. "); for(i=0;i<5;i+)printf("%11s",coursei); printf(" average:n"); for(i=0;i&l

18、t;4;i+) n=0; for(j=0;j<5;j+)if(*(pscore+5*i+j)>85.0) n+;if(n=5)|(averi>=90)printf("%d",numi);for(k=0;k<5;k+)printf("%12.2f",*(pscore+5*i+k); printf("%11.2fn",averi); (5-3)、#include<stdio.h>#include<stdlib.h>void main()int n;char*name12="January","February","March","April","May","June","July","August","September","October","November","December"printf("請(qǐng)輸入月份:");scanf(&quo

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論