欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          《C語言實驗指導》實驗八 函數(shù)

          實驗八 函數(shù)

          【目的與要求】

          1.掌握C語言函數(shù)的定義方法、函數(shù)的聲明及函數(shù)的調用方法。

          2.了解主調函數(shù)和被調函數(shù)之間的參數(shù)傳遞方式。

          【上機內容】

          【一般示例】

          【例1】寫一個判斷素數(shù)的函數(shù),在主函數(shù)輸入一個整數(shù),輸出是否素數(shù)的信息。

          源程序如下:

          mian()

          {

          int number;

          printf(“請輸入一個正整數(shù):n”);

          scanf(“%d”,&number);

          if (prime(number))

          printf(“n %d是素數(shù).”,number);

          else

          printf(“n %d不是素數(shù).”,number);

          }

          int prime(number) /*此函數(shù)用于判別素數(shù)*/

          int number;

          {

          int flag=1,n;

          for(n=2;n<number/2&&flag==1;n++)

          if (number%n==0)

          flag=0;

          return(flag);

          }

          判斷素數(shù)的算法,我們在以前學習循環(huán)的時候已經(jīng)學過了,在這里只是把這個算法用函數(shù)的形式表示出來。這里我們要注意函數(shù)的定義、聲明的方法和格式。

          【例2】寫一函數(shù),是給定的一個二位數(shù)組(4×4)轉置,即行列互換。

          源程序如下:

          /*矩陣的轉置*/

          #define N 4

          int array[N][N];

          convert(array)

          int array[4][4];

          {

          int i,j,t;

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

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

          {

          t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t;

          }

          }

          main()

          {

          int i,j;

          printf(“輸入數(shù)組元素:n”);

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

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

          scanf(“%d”,&array[i][j]);

          printf(“n數(shù)組是:n”);

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

          {

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

          printf(“%5d”,array[i][j]);

          printf(“n”);

          }

          conver(array);

          printf(“轉置數(shù)組是:n”);

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

          {

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

          printf(“%5d”,array[i][j]);

          printf(“n”);

          }

          }

          本例題用數(shù)組作為函數(shù)參數(shù),大家要注意數(shù)組作為函數(shù)參數(shù)時的用法。

          【典型示例】

          【例1】寫兩個函數(shù),分別求兩個正數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調用這兩個函數(shù)并輸出結果。兩個正數(shù)由鍵盤輸入。

          源程序如下:

          #include “stdio.h”

          hcf(u,v)

          int u,v;

          {

          int a,b,t,r;

          if(u>v)

          {

          t=u; u=v; v=t;

          }

          a=u; b=v;

          while((r=b%a)!=0)

          {

          b=a; a=r;

          }

          return(a);

          }

          lcd(u,v,h)

          int u,v,h;

          {

          return(u*v/h);

          }

          main()

          {

          int u,v,h,l;

          scanf(“%d,%d”,&u,&v);

          h=hcf(u,v);

          printf(“H.C.F=%dn”,h);

          l=lcd(u,v,h);

          printf(“L.C.D=%dn”,l);

          }

          這是一個十分典型的算法,同學們一定要認真分析、學習。

          【例2】寫一函數(shù),用“起泡法”對輸入的10個字符按由小到大順序排序。

          源程序如下:

          /*起泡法排序*/

          #define N 10

          char str[N];

          main()

          {

          int i,flag;

          for (flag=1; flag = =1;)

          {

          printf(“n輸入字符串,長度為10:n”);

          scanf(“%s”,&str);

          if (strlen(str)>N)

          printf(“超過長度,請重輸!”);

          else

          flag = 0;

          }

          sort(str);

          printf(“n排序結果:”):

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

          printf(“%c”,str[i]);

          }

          sort(str)

          char str[N];

          {

          int i,j;

          char t;

          for (j=1;j<N;j++)

          for (i=0;(i<N-j)&&(str[i]!=’