• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      嘗試用C語言計算大數(shù)階乘C語言課堂趣味練習(xí)

      2022-05-13 22:43:55楊英翔
      電子樂園·下旬刊 2022年5期
      關(guān)鍵詞:教法計算機

      摘要:作者多年從事計算機應(yīng)用技術(shù)研究和教學(xué),在C語言程序設(shè)計的教學(xué)過程中,作者一直在探索激發(fā)學(xué)生學(xué)習(xí)興趣、降低課程難度、提高學(xué)習(xí)成績的有效途徑,并提出自己的一些做法供同行們參考。

      關(guān)鍵詞:C語言;教法;計算機

      正文:

      源程序:

      #include

      #include

      #define N 2000 ? ?//可以是任意一個數(shù)的階乘

      int main( ?)

      {system("title 求N的階乘"); ? ?//設(shè)置標(biāo)題

      system("color 2f"); ? ?//設(shè)置顏色

      int a[100000],b=0,i,j; ? ?//設(shè)置數(shù)組預(yù)備存放數(shù)據(jù)

      for(i=0;i<100000;i++) ? ?//設(shè)置數(shù)組里每一位都是零

      a[i]=0;

      a[0]=1; ? ?//設(shè)置數(shù)組的第一位是1,就是第一個乘數(shù)是1

      printf("\n\n ? ?%d!=",N); ? ?//打印等式的左側(cè)N!=

      for(i=2;i<=N;i++) ? ?//設(shè)置階乘的乘數(shù)

      {for(j=0;j<=b;j++) ? ?//設(shè)置階乘的計算

      a[j]*=i;

      b+=16; ? ?//設(shè)置數(shù)值的每一個元素只保存一位整數(shù)

      for(j=0;j

      if(a[j]>9)

      {a[j+1]+=a[j]/10;

      a[j]%=10;}

      while(a[b]==0) b--;}

      for(i=b; i>=0; i--) ? ? //設(shè)置逆序打印

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

      printf("\n ? ?");

      return 0;}

      程序說明:

      這個程序里用一個整型數(shù)組來存放N的階乘的結(jié)果,通過程序的講解,我們可以初步理解用數(shù)組存放和打印大數(shù)據(jù)的方法,這也是用C語言進行科學(xué)計算的一個使用例子,為學(xué)生們打開程序設(shè)計的一面窗戶。

      整個程序結(jié)構(gòu)上很實用,語言上很簡練,算法也簡單。

      相關(guān)知識:

      這個例子里用數(shù)組存放大數(shù)據(jù),大致可以分兩步,第一步是數(shù)組里每一個元素中數(shù)據(jù)的計算,第二步是數(shù)組中每一個元素中數(shù)據(jù)的進位。打印數(shù)組中存放的大數(shù)據(jù),使用逆序打印。

      相關(guān)練習(xí):

      (1) N的階乘的另一種方法,這是網(wǎng)上流傳很廣的一個程序,已經(jīng)找不到出處了,經(jīng)過驗證是可以運行的,大家可以嘗試分析一下其算法原理。

      #include

      #include

      #define N 800 ? //設(shè)置階乘的N值

      long s[N]={1},n=10000,t=2,x,y,m;

      int main()

      {system("title 大數(shù)據(jù)的計算和顯示");

      system("color 2f");

      printf("\n\n ? ?%d!=",N);

      for(;x<=m||++t<=N&&(x=y=0,1);m==x++&&y&&m++)

      s[x]=(y+=s[x]*t)%n,y/=n;

      for(printf("%d",s[m]);m--;)

      printf("%04d",s[m]);

      printf("\n\n ? ?");

      return 0;}

      (2)冒泡排序法,這是一個簡單的排序法練習(xí),頭文件里有time.h,大家可以嘗試使用隨機數(shù)來給數(shù)組賦值。

      #include

      #include

      #include

      #include

      main()

      {system("color 2f");

      system("title ---冒泡排序法");

      system("mode con cols=130 lines=40");

      int m[256],i,j,t,k;

      printf("\n\n ? ?輸入10個數(shù):\n\n ? ? ");

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

      {scanf("%d",&m[i]);}

      printf("\n您輸入的數(shù)組—————\n");

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

      {printf("%5d",m[i]);}

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

      {for(j=0;j<9-i;j++)

      {if(m[j]>m[j+1])

      {t=m[j+1];

      m[j+1]=m[j];

      m[j]=t;}}}

      printf("\n\n排序后的數(shù)組—————\n");

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

      printf("%5d",m[k]);

      printf("\n\n");

      getchar();}

      總結(jié):

      C語言程序設(shè)計是一門非常注重實踐的課程,無論課堂教學(xué)還是上機實踐,教師的童心和發(fā)散思維,都是學(xué)生們突破學(xué)習(xí)難點、提高學(xué)習(xí)興趣和建立良好的學(xué)習(xí)習(xí)慣的強有力的助力和催化劑。

      參考書籍

      [1]. 《C程序設(shè)計》(第三版),譚浩強 著,清華大學(xué)出版社,2005年7月

      [2]. C程序設(shè)計題解與上機指導(dǎo)》(第三版),譚浩強著,清華大學(xué)出版社,2005年7月

      [3]. 《C語言程序設(shè)計習(xí)題指導(dǎo)與練習(xí)》,劉宏著,清華大學(xué)出版社,2009年1月

      作者簡介:楊英翔(1964.06-),男,漢族,副教授,就職于沈陽建筑大學(xué)。

      猜你喜歡
      教法計算機
      計算機操作系統(tǒng)
      穿裙子的“計算機”
      基于計算機自然語言處理的機器翻譯技術(shù)應(yīng)用與簡介
      科技傳播(2019年22期)2020-01-14 03:06:34
      計算機多媒體技術(shù)應(yīng)用初探
      科技傳播(2019年22期)2020-01-14 03:06:30
      實戰(zhàn)視角下擒敵拳教學(xué)教法路徑研究
      信息系統(tǒng)審計中計算機審計的應(yīng)用
      開放在線課程教法的適應(yīng)性變革:從OCW到MOOC
      “教法融合”:得道方能行遠(yuǎn)
      Fresnel衍射的計算機模擬演示
      羽毛球正手擊高球教法五步曲
      體育師友(2011年2期)2011-03-20 15:29:30
      宜黄县| 华蓥市| 罗定市| 永顺县| 宁夏| 元谋县| 辽宁省| 阿荣旗| 朔州市| 加查县| 哈巴河县| 达日县| 青龙| 大关县| 贵港市| 鹤岗市| 丰城市| 新津县| 雷州市| 巴楚县| 威远县| 浏阳市| 阿鲁科尔沁旗| 梅河口市| 林甸县| 望奎县| 乌拉特前旗| 固安县| 泽库县| 汝城县| 涞源县| 江津市| 浦东新区| 金阳县| 凌源市| 南部县| 柳林县| 西华县| 安新县| 崇文区| 漠河县|