• 
    

    
    

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

      C語言趣味課堂練習(xí)之二

      2017-01-21 10:45:43楊英翔
      卷宗 2016年10期
      關(guān)鍵詞:教法計算機(jī)

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

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

      1 斐波那契數(shù)列

      古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問前20個月每個月的兔子總數(shù)為多少對?

      #include

      #include

      main()

      {

      system(“color 3e”);

      system(“title 兔子發(fā)財計劃");

      long f1,f2;

      int i;

      f1=f2=1;

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

      {

      printf(“%12ld %12ld”,f1,f2);

      if(i%2==0)

      printf(“\n”); //控制輸出,每行四個

      f1=f1+f2; //前兩個月加起來賦值給第三個月

      f2=f1+f2; //前兩個月加起來賦值給第三個月

      }

      printf(“\n “);

      system(“pause”);

      }

      程序說明:

      斐波那契數(shù)列是C語言里很重要的一道題目,可以由循環(huán)、數(shù)組、函數(shù)等多種方法實現(xiàn),靈活多變,十分適合鍛煉學(xué)生的創(chuàng)新、想象能力。

      還可以鼓勵學(xué)生們做其他的設(shè)計嘗試。

      2 打印“水仙花數(shù)”

      #include

      #include

      main()

      {

      system(“title ‘water flowernumber”);

      system(“color 3e”);

      int i,j,k,n;

      printf(“\n\n ‘water flowernumber is:\n\n “);

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

      {

      i=n/100; //分解出百位

      j=n/10%10; //分解出十位

      k=n%10; //分解出個位

      if(n==i*i*i+j*j*j+k*k*k)

      {

      printf(“%-5d”,n);

      }

      }

      printf(“\n\n “);

      }

      程序說明:

      “水仙花”數(shù)是指一個n位數(shù)(n≥3),它的每個位上的數(shù)字的n 次冪之和等于它本身。

      “水仙花”數(shù),是C語言里很重要的一道題目,可以由循環(huán)、數(shù)組、函數(shù)等多種方法實現(xiàn),靈活多變,十分適合鍛煉學(xué)生的創(chuàng)新、想象能力。

      “水仙花”數(shù)是指一個n位數(shù)(n≥3),它的每個位上的數(shù)字的n 次冪之和等于它本身。有三位的”水仙花”數(shù),有四位的”水仙花”數(shù),我們還可以嘗試編程顯示五位的”水仙花”數(shù)。

      3 10以內(nèi)數(shù)減法練習(xí)

      #include

      #include

      #include

      #include

      main()

      {

      srand(time(NULL));

      system(“title 10以內(nèi)數(shù)減法練習(xí)");

      system(“color 3e”);

      int i,j,k,n,m=0;

      for(n=1;n<=20;n++)

      {

      i=rand()%10;

      j=rand()%i;

      printf(“\n\n No: %d”,n);

      printf(“\n\n %d-%d= \n\n “,i,j);

      scanf(“%d”,&k);

      if(k==i-j)

      {

      printf(“\n 恭喜你,答對了!");

      m++;

      }

      else

      printf(“\n 答錯了,正確答案是 %d",i-j);

      Sleep(2000);

      system(“cls”);

      }

      printf(“\n\n 您的總分是 %d ,再見?。躰\n ",m*5);

      }

      程序說明:

      10以內(nèi)減法是10以內(nèi)數(shù)加法的升級,之后還有10以內(nèi)數(shù)的乘法和除法,再以后還有10以內(nèi)數(shù)的四則運算。

      這個練習(xí)主要重點應(yīng)該是培養(yǎng)學(xué)生自主設(shè)計程序的能力。

      10以內(nèi)數(shù)四則運算練習(xí)是我們自主設(shè)計的第一個實用程序,可以鼓勵學(xué)生們進(jìn)一步完善設(shè)計,還可以進(jìn)一步形成函數(shù)版、多文件版等不同的版本。

      4 將一個正整數(shù)分解質(zhì)因數(shù)

      #include

      #include

      //正整數(shù)分解質(zhì)因數(shù)

      main()

      {

      int n,i;

      printf(“\n\n 請輸入正整數(shù):\n\n ");

      scanf(“%d”,&n);

      printf(“\n %d=”,n);

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

      {

      while(n!=i)

      {

      if(n%i==0)

      {

      printf(“%d*”,i);

      n=n/i;

      }

      else

      break;

      }

      }

      printf(“%d”,n);

      printf(“\n\n “);

      system(“pause”);

      }

      程序說明:

      將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。

      對n進(jìn)行分解質(zhì)因數(shù),應(yīng)先找到一個最小的質(zhì)數(shù)i,然后按下述步驟完成:

      (1)如果這個質(zhì)數(shù)恰等于n,則說明分解質(zhì)因數(shù)的過程已經(jīng)結(jié)束,打印出即可。

      (2)如果n>k,但n能被i整除,則應(yīng)打印出i的值,并用n除以i的商,作為新的正整數(shù)n, 重復(fù)執(zhí)行第一步。

      (3)如果n不能被i整除,則用i+1作為i的值,重復(fù)執(zhí)行第一步。

      這兩個程序講的都是數(shù)學(xué)里的小常識,我們還可以引導(dǎo)學(xué)生把其他的數(shù)學(xué)里的小常識用C語言程序表達(dá)出來。既有趣,又鍛煉學(xué)生的C能力。

      5 解方程

      一個整數(shù),它加上100后是一個完全平方數(shù),再加上168又是一個完全平方數(shù),請問該數(shù)是多少??

      #include

      #include

      #include

      #include

      void main()

      {

      system(“color 3f”);

      system(“title 關(guān)于完全平方數(shù)");

      system(“mode con cols=130 lines=20”);

      int i,j,k;

      for (i=1;i<=1000;i++)

      {

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

      {

      for (k=1;k<=1000;k++)

      {

      if(i*i==k+100&&j*j==k+268)

      {

      printf(“\n\n 這個整數(shù)可

      以是 %d\n\n ",k);

      goto lop;

      }

      }

      }

      }

      lop:

      printf(“\n\n “);

      }

      程序說明:

      這個題目里我們使用了嵌套循環(huán)和goto語句。

      這個題目可以用多個算法,程序原型里的算法屬于暴力破解法,又叫窮舉法。

      后記:

      這一類程序里還有很多題目都是很有趣的,例如”三折井”、”買瓜”等題目。都很有趣,而且需要大家認(rèn)真對待。

      作者簡介

      楊英翔,副教授。

      猜你喜歡
      教法計算機(jī)
      計算機(jī)操作系統(tǒng)
      穿裙子的“計算機(jī)”
      基于計算機(jī)自然語言處理的機(jī)器翻譯技術(shù)應(yīng)用與簡介
      科技傳播(2019年22期)2020-01-14 03:06:34
      計算機(jī)多媒體技術(shù)應(yīng)用初探
      科技傳播(2019年22期)2020-01-14 03:06:30
      實戰(zhàn)視角下擒敵拳教學(xué)教法路徑研究
      信息系統(tǒng)審計中計算機(jī)審計的應(yīng)用
      開放在線課程教法的適應(yīng)性變革:從OCW到MOOC
      “教法融合”:得道方能行遠(yuǎn)
      Fresnel衍射的計算機(jī)模擬演示
      羽毛球正手擊高球教法五步曲
      體育師友(2011年2期)2011-03-20 15:29:30
      黄梅县| 鹤庆县| 伊金霍洛旗| 金门县| 永康市| 炎陵县| 房产| 和龙市| 沾化县| 安仁县| 安顺市| 定结县| 大兴区| 井陉县| 宁武县| 齐齐哈尔市| 井冈山市| 闸北区| 财经| 凤庆县| 错那县| 龙游县| 岢岚县| 夏津县| 柳林县| 临湘市| 柘城县| 靖安县| 珲春市| 凤冈县| 揭西县| 黄山市| 甘洛县| 辽中县| 会同县| 南开区| 沁水县| 团风县| 庄浪县| 灌云县| 弥渡县|