狠狠干影院/欧美午夜电影在线观看/高黄文/国产精品一区二区在线观看完整版

《C語言程序開發》實驗報告和參考答案

| 瀏覽次數:

  1

  實 實

 驗

 報

 告

  課程名稱:C 語言程序開發 學生姓名:

 學生學號:

 專業班級:

 指導教師:

 實驗日期:

  2 目

 錄

 實驗 一

 循環結構程序設計

?。ㄒ唬┣?1+2+3+.......+100, ??1100nn (二)輸出 100~200 之間的不能被 3 整除的數。

 實驗 二

 數組及其應用

?。ㄒ唬┯幸粋€ 3×4 的矩陣,要求編程序求出其中值最大的那個元素的值,以及其所在的行號和列號。

?。ǘ┹斎胍恍凶址?,統計其中有多少個單詞,單詞之間用空格分隔開。

 實驗 三

 函數及其應用

?。ㄒ唬┯?5 個學生坐在一起,問第 5 個學生多少歲,他說比第 4 個學生大 2 歲。問第 4 個學生歲數,他說比第 3 個學生大 2 歲。問第 3 個學生,又說比第 2 個學生大 2 歲。問第 2 個學生,說比第 1 個學生大2 歲。最后問第 1 個學生,他說是 10 歲。請問第 5 個學生多大。

?。ǘ┯眠x擇法對數組中 10 個整數按由小到大排序,一維數組名作函數參數。

 實驗 四

 指針及其應用

?。ㄒ唬⑷舾勺址醋帜疙樞颍ㄓ尚〉酱螅┹敵觥?/p>

 (二)有 a 個學生,每個學生有 b 門課程的成績。要求在用戶輸入學生序號以后,能輸出該學生的全部成績。用指針函數來實現。

  3 實驗 一

 循環結構程序設計

 實驗題目:

 (一)求 1+2+3+.......+100, ??1100nn (二)輸出 100~200 之間的不能被 3 整除的數。

 實驗目的 1.掌握循環語句的執行過程及用法 2.初步掌握循環程序設計的基本技巧 3.掌握用 while 語句,do-while 語句和 for 語句實現循環的方法 4.掌握多重循環的使用 (一)實驗步驟 1.題目分析 2. 源程序代碼 3.運行結果 (二)實驗步驟:

 1.題目分析 源程序代碼 3.運行結果

  4 實驗 二

 數組及其應用

 實驗題目:

?。ㄒ唬┯幸粋€ 3×4 的矩陣,要求編程序求出其中值最大的那個元素的值,以及其所在的行號和列號。

?。ǘ┹斎胍恍凶址?,統計其中有多少個單詞,單詞之間用空格分隔開。

 實驗目的 1.掌握一維數組的定義及其元素的引用方法 2.掌握利用一維數組實現一些常用算法的基本技巧 3.掌握二維數組的定義及其應用 4.掌握字符數組和字符串函數的使用 5.掌握有關二維數組的基本編程技巧 (一)實驗步驟:

 1.題目分析 2. 源程序代碼:

 3.運行結果 (二)實驗步驟:

 1.題目分析 2.源程序代碼 3.運行結果

  5 實驗 三

 函數及其應用

 實驗題目:

?。ㄒ唬┯?5 個學生坐在一起,問第 5 個學生多少歲,他說比第 4 個學生大 2 歲。問第 4 個學生歲數,他說比第 3 個學生大 2 歲。問第 3 個學生,又說比第 2 個學生大 2 歲。問第 2 個學生,說比第 1 個學生大2 歲。最后問第 1 個學生,他說是 10 歲。請問第 5 個學生多大。

?。ǘ┯眠x擇法對數組中 10 個整數按由小到大排序,一維數組名作函數參數。

 實驗目的 1.掌握函數的定義及其調用方法 2.掌握函數實參與形參的對應關系,了解“值傳遞”與“地址傳遞”的概念 3.掌握函數的嵌套調用和遞歸調用的方法 4.初步學會使用函數進行程序設計的基本方法 (一)實驗步驟:

 1.題目分析 2. 源程序代碼:

 3.運行結果 (二)實驗步驟 1. 題目分析 2. 源程序代碼 3.運行結果

  6 實驗 四

 指針及其應用

 實驗題目:

?。ㄒ唬⑷舾勺址醋帜疙樞颍ㄓ尚〉酱螅┹敵?。

 (二)有 a 個學生,每個學生有 b 門課程的成績。要求在用戶輸入學生序號以后,能輸出該學生的全部成績。用指針函數來實現。

 實驗目的 1. 掌握指針的概念,會定義和使用指針變量 2. 掌握數組的指針及其基本用法 3. 掌握指針變量函數作參數時,參數的傳遞過程及其用法 4. 掌握字符串的指針及其用法 5. 掌握函數的指針及其用法

?。ㄒ唬嶒灢襟E:

 1.題目分析 2. 源程序代碼:

 3.運行結果 (二)實驗步驟:

 1.題目分析 3. 源程序代碼:

 3.運行結果

  7

  實 實

 驗

 報

 告

  課程名稱:C 語言程序開發 學生姓名:

 學生學號:

 專業班級:

 指導教師:

 實驗日期:

  8 目

 錄

 實驗 一

 循環結構程序設計

?。ㄒ唬┣?1+2+3+.......+100, ??1100nn (二)輸出 100~200 之間的不能被 3 整除的數。

 實驗 二

 數組及其應用

?。ㄒ唬┯幸粋€ 3×4 的矩陣,要求編程序求出其中值最大的那個元素的值,以及其所在的行號和列號。

?。ǘ┹斎胍恍凶址?,統計其中有多少個單詞,單詞之間用空格分隔開。

 實驗 三

 函數及其應用

 (一)有 5 個學生坐在一起,問第 5 個學生多少歲,他說比第 4 個學生大 2 歲。問第 4 個學生歲數,他說比第 3 個學生大 2 歲。問第 3 個學生,又說比第 2 個學生大 2 歲。問第 2 個學生,說比第 1 個學生大2 歲。最后問第 1 個學生,他說是 10 歲。請問第 5 個學生多大。

 (二)用選擇法對數組中 10 個整數按由小到大排序,一維數組名作函數參數。

 實驗 四

 指針及其應用

?。ㄒ唬⑷舾勺址醋帜疙樞颍ㄓ尚〉酱螅┹敵?。

?。ǘ┯?a 個學生,每個學生有 b 門課程的成績。要求在用戶輸入學生序號以后,能輸出該學生的全部成績。用指針函數來實現。

  9 實驗 一

 循環結構程序設計

 實驗題目:(一)求 1+2+3+.......+100, ??1100nn (二)輸出 100~200 之間的不能被 3 整除的數。

 實驗目的 1.掌握循環語句的執行過程及用法 2.初步掌握循環程序設計的基本技巧 3.掌握用 while 語句,do-while 語句和 for 語句實現循環的方法。

 4.掌握多重循環的使用 (一)實驗步驟 1.題目分析

  10 3. 源程序代碼 #include<stdio.h> int main() {

 int i=1,sum=0;

  //定義變量 i 的初值為 1,sum 的初值為 0

 while(i<=100)

 //當 i>100,條件表達式 i<=100 的值為假,不執行循環體

 {

 //循環體開始

  sum=sum+i;

  //第 1 次累加后,sum 的值為 1

  i++;

 //加完后,i 的值加 1,為下次累加做準備

 }

 //循環體結束

 printf("sum=%d\n",sum); //輸出 1+2+3…+100 的累加和

 return 0; } 3.運行結果

  11 (二)實驗步驟:

 1.題目分析

 2. 源程序代碼 #include <stdio.h> int main() { int n;

 for (n=100;n<=200;n++)

 { if (n%3==0)

 continue;

  printf("%d ",n);

 }

 printf("\n");

 return 0; }

 3.運行結果

  12 實驗 二

 數組及其應用

 實驗題目:

 (一)有一個 3×4 的矩陣,要求編程序求出其中值最大的那個元素的值,以及其所在的行號和列號。

?。ǘ┹斎胍恍凶址?,統計其中有多少個單詞,單詞之間用空格分隔開。

 實驗目的 1.掌握一維數組的定義及其元素的引用方法 2.掌握利用一維數組實現一些常用算法的基本技巧 3.掌握二維數組的定義及其應用 4.掌握字符數組和字符串函數的使用 5.掌握有關二維數組的基本編程技巧 (一)實驗步驟:

 1.題目分析 先思考一下在打擂臺時怎樣確定最后的優勝者。先找出任一人站在臺上,第 2 人上去與之比武,勝者留在臺上。再上去第 3 人,與臺上的人(即剛才的得勝者)比武,勝者留臺上,敗者下臺。以后每一個人都是與當時留在臺上的人比武。直到所有人都上臺比過為止,最后留在臺上的就是冠軍。

  13

 3. 源程序代碼:

 #include <stdio.h> int main() { int i,j,row=0,colum=0,max;

 int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};

 //定義數組并賦初值

 max=a[0][0];

 //先認為 a[0][0]最大

 for(i=0;i<=2;i++)

  for(j=0;j<=3;j++)

  if(a[i][j]>max)//如果某元素大于 max,就取代 max 的原值

  { max=a[i][j];

 row=i;

  //記下此元素的行號

 colum=j;

  //記下此元素的列號

  }

 printf("max=%d\nrow=%d\ncolum=%d\n",max,row,colum);

 return 0; }

  14 3.運行結果

  (二)實驗步驟:

 1.題目分析 string:用于存放字符串。

 i:計數器,用于遍歷字符串中的每個字符。

 word:用于判斷是否開始了一個新單詞的標志。若 word=0 表示未出現新單詞,如出現了新單詞,就把 word 置成 1。

 num:用于統計單詞數。

  15 2.源程序代碼 #include <stdio.h> int main() {

 char string[81];

 int i,num=0,word=0;

 char c;

 gets(string); //輸入一個字符串給字符數組 string

 for(i=0;(c=string[i])!="\0";i++)

 //只要字符不是"\0"就循環

  if(c==" ") word=0;

 //若是空格字符,使 word 置 0

  else if(word==0) //如果不是空格字符且 word 原值為 0

  { word=1;

 //使 word 置 1

 num++;

  //num 累加 1,表示增加一個單詞

  }

 printf("There are %d words in this line.\n",num);

  //輸出單詞數

 return 0; }

  16 3.運行結果

  17 實驗 三

 函數及其應用

 實驗題目:

 (一)有 5 個學生坐在一起,問第 5 個學生多少歲,他說比第 4 個學生大 2 歲。問第 4 個學生歲數,他說比第 3 個學生大 2 歲。問第 3 個學生,又說比第 2 個學生大 2 歲。問第 2 個學生,說比第 1 個學生大2 歲。最后問第 1 個學生,他說是 10 歲。請問第 5 個學生多大。

?。ǘ┯眠x擇法對數組中 10 個整數按由小到大排序,一維數組名作函數參數。

 實驗目的 1.掌握函數的定義及其調用方法 2.掌握函數實參與形參的對應關系,了解“值傳遞”與“地址傳遞”的概念 3.掌握函數的嵌套調用和遞歸調用的方法 4.初步學會使用函數進行程序設計的基本方法 (一)實驗步驟:

 1.題目分析

  18 3. 源程序代碼:

 #include <stdio.h> int main() { int age(int n);

  //對 age 函數的聲明

 printf("NO.5,age:%d\n",age(5));

 //輸出第 5 個學生的年齡

 return 0; }

 int age(int n)

  //定義遞歸函數 { int c;

  //c 用作存放函數的返回值的變量

 if(n==1)

  //如果 n 等于 1

  c=10;

  //年齡為 10

 else

 //如果 n 不等于 1

  c=age(n-1)+2;

  //年齡是前一個學生的年齡加2(如第4 個學生年齡是第 3 個學生年齡加 2)

 return(c);

 //返回年齡 } 3.運行結果

  19 (二)實驗步驟 3. 題目分析

 4. 源程序代碼 #include <stdio.h> int main() { void sort(int array[],int n);

 int a[10],i;

 printf("enter array:\n");

 for(i=0;i<10;i++)

  scanf("%d",&a[i]);

 sort(a,10); //調用 sort 函數,a 為數組名,大小為 10

 printf("The sorted array:\n");

 for(i=0;i<10;i++)

  printf("%d ",a[i]);

 printf("\n");

 return 0; }

  20

 void sort(int array[],int n) { int i,j,k,t;

 for(i=0;i<n-1;i++)

 { k=i;

  for(j=i+1;j<n;j++)

 if(array[j]<array[k])

  k=j;

  t=array[k]; array[k]=array[i]; array[i]=t;

 } } 3.運行結果

  21 實驗 四

 指針及其應用

 實驗題目:(一)將若干字符串按字母順序(由小到大)輸出。

?。ǘ┯?a 個學生,每個學生有 b 門課程的成績。要求在用戶輸入學生序號以后,能輸出該學生的全部成績。用指針函數來實現。

 實驗目的 6. 掌握指針的概念,會定義和使用指針變量 7. 掌握數組的指針及其基本用法。

 8. 掌握指針變量函數作參數時,參數的傳遞過程及其用法 9. 掌握字符串的指針及其用法 10. 掌握函數的指針及其用法

 (一)實驗步驟:

 1.題目分析

  22 4. 源程序代碼:

 #include <stdio.h> #include <string.h> int main() { void sort(char *name[],int n);

 //函數聲明

 void print(char *name[],int n); //函數聲明

 char *name[]={"Follow me","BASIC",

 "Great Wall","FORTRAN","Computer design"};

  //定義指針數組,它的元素分別指向 5 個字符串

 int n=5;

 sort(name,n);

 //調用 sort 函數,對字符串排序

  print(name,n); //調用 print 函數,輸出字符串

 return 0; }

 void sort(char *name[],int n)

  //定義 sort 函數 { char *temp;

 int i,j,k;

 for(i=0;i<n-1;i++)

  //用選擇法排序

 { k=i;

  for(j=i+1;j<n;j++)

 if(strcmp(name[k],name[j])>0) k=j;

  23

  if(k!=i)

  { temp=name[i]; name[i]=name[k]; name[k]=temp;}

 } }

 void print(char *name[],int n) //定義 print 函數 { int i;

 for(i=0;i<n;i++)

  printf("%s\n",name[i]);

  //按指針數組元素的順序輸出它們所指向的字符串 }

 3.運行結果

  24 (二)實驗步驟:

 1.題目分析 pointer score 數組 pointer+1 60 70 80 90

 56 89 67 88

 34 78 90 66

 5. 源程序代碼:

 #include <stdio.h> int main() { float score[][4]={{60,70,80,90},{56,89,67,88},{34,78,90,66}};

  //定義數組,存放成績

 float *search(float (*pointer)[4],int n); //函數聲明

 float *p;

 int i,k;

 printf("enter the number of student:");

 scanf("%d",&k); //輸入要找的學生的序號

 printf("The scores of No.%d are:\n",k);

 p=search(score,k); //調用 search 函數,返回 score[k][0]的地址

  25

 for(i=0;i<4;i++)

  printf("%5.2f\t",*(p+i)); //輸出score[k][0]~score[k][3]的值

 printf("\n");

 return 0; }

 float *search(float (*pointer)[4],int n) //形參 pointer 是指向一維數組的指針變量 { float *pt;

 pt=*(pointer+n); //pt 的值是&score[k][0]

 return(pt); } 3.運行結果

推薦訪問: 參考答案 程序開發 語言

【《C語言程序開發》實驗報告和參考答案】相關推薦

工作總結最新推薦

NEW