閱讀屋>設計> c語言程式課程設計的實驗報告

c語言程式課程設計的實驗報告

c語言程式課程設計的實驗報告

  實驗名稱

  計算出1000以內10個最大素數之和

  實驗目的

  1、熟練掌握if、if…else、if…else if語句和witch語句格式及使用方法,掌握if語句中的巢狀關係和匹配原則,利用if語句和switch語句實現分支選擇結構。

  2、熟練掌握while語句、do…while語句和for語句格式及使用方法,掌握三種迴圈控制語句的迴圈過程以及迴圈結構的巢狀,利用迴圈語句實現迴圈結構。

  3、掌握簡單、常用的演算法,並在程式設計過程中體驗各種演算法的程式設計技巧。進一步學習除錯程式,掌握語法錯誤和邏輯錯誤的檢查方法。

  實驗內容

  計算並輸出1000以內最大的10個素數以及它們的'和。

  要求:

  在程式內部加必要的註釋。

  由於偶數不是素數,可以不考慮對偶數的處理。

  雖然在1000以內的素數超過10個,但是要對1000以內不夠10個素數的情況進行處理。

  輸出形式為:素數1+素數2+素數3+…+素數10=總和值。

  判斷素數:

  源程式

  #include

  #include

  int sushu(int n)/* 判斷素數的函式 */

  {

  int t,i;

  t=sqrt(n);

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

  if(n%i==0)/* 如果不是素數,返回 0 */

  return 0;

  return n;/* 如果是素數,返回該數 */

  }

  void main()

  {

  int i,j=0,n,m=0,a[1000],x;

  /*clrscr();*/

  printf("Please input a number form 1 to 1000:");

  scanf("%d",&x);

  if(x==2)/* x=2時的處理 */

  printf("%dn",x);

  else if(x<=1) /* x在1~1000範圍外時的處理 */

  printf("Error!n");

  else

  {

  if(x%2==0)/* x為偶數時,把x變為奇數 */

  x--;

  for(i=x;i>1;i-=2)/* x為奇數時,做函式計算 */

  {

  n=sushu(i); /* 做判斷素數的函式呼叫 */

  if(n!=0)/* 對素數的處理 */

  {

  a[j]=n;/* 把素數由大至小存入陣列a[ ]中 */

  j++;

  if(j<11)

  m+=n;      /* 統計前10個素數之和 */

  }

  }

  if(j<10)/* 當素數個數小於10個時,結果輸出 */

  {

  for(i=0;i

  {

  n=a[i];

  printf("%d",n);

  printf("+");

  }

  printf("2=");

  printf("%dn",m+2);

  }

  else for(i=0;i<10;i++)/* 當素數個數大於等於10個時,結果輸出 */

  {

  n=a[i];

  printf("%d",n);

  if(i<9)

  printf("+");

  else

  {

  printf("=");

  printf("%dn",m);

  }

  }

  }

  }

  測試資料

  分別輸入1000、100、10測試。

  執行結果

  出現問題及解決方法

  當素數個數小於10時的處理不夠完善,考慮不夠周全。把“+2”的處理做的太勉強。

  程式過大,不夠精簡,無用文字太多。

  學習耐心與細心不足,如scanf(“%d”,&n);中的“&”經常忘記。

  程式設計思想不夠發散,例如如何判斷素數,只能想出2種方式(其中1種為參考教科書上內容);在今後學習中應更多的動腦,綜合運用所學。

  基本功不夠,如清屏clrscr()等函式用的不好,有時同樣的問題多次犯,給實驗課老師帶來很大的麻煩。這說明我的知識不夠廣,有很多有用但不做考試要求的書中內容沒有學好,認識程度不夠深刻。就算以後C語言這門課程結束後,也應多看相關東西,多上機練習,才能真正從本質上提高自己。

  知識不夠廣泛,如VC++6.0等程式,自己試了好一陣也不會用;說明我電腦水平還是不夠,自學能力不夠。已會的東西掌握的還是不夠好。

  實驗心得

  透過本次C語言上機實驗,我對這個介於人類與非人類之間的計算機程式語言有了一定的體驗。其間開心過、鬱悶過、無奈過、彷徨過……隨著實驗的勝利成功與實驗報告的勝利完成,有點微微的自豪感使人難忘。感謝高克寧老師的高標準、嚴要求,感謝實驗課上小老師們的耐心指點,也感謝我在實驗中經歷過的點點滴滴……伴隨著學習的深入,我發現高深的東西還有很多很多,等待著我自己去挖掘。對C語言,我會更加努力。

【c語言程式課程設計的實驗報告】相關文章: