當前位置:編程學習大全網 - 源碼下載 - C語言編程10選6全組合並且滿足6個數字和問題

C語言編程10選6全組合並且滿足6個數字和問題

代碼如下:

#include <stdio.h>

//要求六個數字相加的和

#define AIM 39

int main(){

int number[10]; ?//用來存放1到10

int su[6]; ?

int i,sum,j=0,k,flag=1;

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

number[i]=i+1;

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

su[i]=0;

for(su[0]=0;su[0]<10;su[0]++)

for(su[1]=0;su[1]<10;su[1]++)

for(su[2]=0;su[2]<10;su[2]++)

for(su[3]=0;su[3]<10;su[3]++)

for(su[4]=0;su[4]<10;su[4]++)

for(su[5]=0;su[5]<10;su[5]++)

{

//j++;

//printf("%d\t",j);

sum=0;

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

sum+=number[su[i]];

//printf("%d\t",sum);

//如果相加的和滿足要求則輸出組合

if(sum==AIM){

//判斷六個數字之中是否有重復的,並且排除排列順序不同的組合

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

for(i=k+1;i<6;i++)

if(number[su[i]]<=number[su[k]])

flag=0;

if(flag==1){

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

printf("%d ",number[su[i]]);

j++;

printf("\n");

}

flag=1;

}

}

printf("總***有%d個滿足要求的組合\n",j);

return 0;

}

其中宏定義#define AIM後面的數字為需要的總和

本代碼選出的組合中數字不能重復

和為39的組合運行結果如下:

  • 上一篇:紫苑超市
  • 下一篇:《網遊之飛飛》最新txt全集下載
  • copyright 2024編程學習大全網