程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> C語言實例之郵票組合

C語言實例之郵票組合

編輯:關於C

     一人有四張3分的郵票和三張5分的郵票,用這些郵票中的一張或若干張可以得到多少種不同的郵資?

  *問題分析與算法設計

  將問題進行數學分析,不同張數和面值的郵票組成的郵資可用下列公式計算:

  S=3*i+5*j

  其中i為3分郵柰的張數,j為5分的張數

  按題目的要求,3分的郵票可以取0、1、2、3、4張,5分的郵票可以取0、1、2、3張。采用窮舉方法進行組合,可以求出這些不同面值不同張數的郵標組合後的郵資。

  *程序說明與注釋

  #include<stdio.h>

  int a[27];

  int main()

  {

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

  for(i=0;i<=4;i++) /*i:取三分郵票的張數*/

  for(j=0;j<=3;j++) /*j:取5分郵票的張數*/

  {

  s=i*3+j*5; /*計算組成的郵票面值*/

  for(k=0;a[k];k++) /*查找是否有相同的郵資*/

  if(s==a[k])break;

  if(!a[k]&&s) /*沒有找到相同的郵資則滿足要求存入數組*/

  {

  a[k]=s; n++;

  }

  }

  printf("%d kinds:",n); /*輸出結果*/

  for(k=0;a[k];k++)

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

  printf("\n");

  }

  *運行結果

  19 kinds: 5 10 15 3 8 13 18 6 11 16 21 9 14 19 24 12 17 22 27

*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved