#include<stdio.h> int main(){ int a[4]={1,3,4,7}; //第一个位置 int b[4]={2,5,8,10}; //第二个位置 int c[4]={6,9,11,12}; //第三个位置 int i,j,k; for(i=0;i<4;i++) for(j=0;j<4;j++) for(k=0;k<4;k++) printf("%d %d %d\n,",a[i],b[j],c[k]);//输出一种排列 getch(); return 0; }
int c(int m, int n){ if(m<=0 || m < n) return 0; if(n ==0) return 1; int result = m; for(int i = m - 1,j = n; i> j; i-- ){ result *= i; }
int temp = 1; for(int i = 1; i <=n; i++){ temp *=i; } return result / temp;
}追问
哥,能用main函数编吗?我是个新手,你这个我理解有难度啊!多谢多谢!
追答
等下,我开一下ide
#include <stdio.h>
int c(int m, int n){ if(m<=0 || m < n) return 0; if(n ==0) return 1; int result = m; int i = m - 1, j = n; for( i = m - 1,j = n; i> j; i-- ){ result *= i; }
int temp = 1; for( i = 1; i <=n; i++){ temp *=i; } return result / temp; } int main(){ int m, n; scanf( "%d",&m); scanf( "%d",&n); printf("%d",c(m,n)); return 0;