马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 zhuby 于 2020-4-10 12:05 编辑
C语言实现:B[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},任选其中两个位置a,b分别赋值为0~15中的一个数;要求输出所有结果
输出样例:B[16]={0,0,0,0,7,0,0,0,0,0,0,0,0,9,0,0},B[16]={0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,15},B[16]={1,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0}.....一共有16*16*16*15=61440种情况
遍历次数你写错了吧?
例如:
情况1:a=2,b=4,向a位置放8,b位置放5,
情况2:a=4,b=2,向a位置放5,b位置放8
这两种情况算一次还是算两次
若这算两次的话,请把第二层for循环的初始条件j=i+1改为j=0
- #include<stdio.h>
- void print(int seta,int setb,int a,int b)
- {
- for(int i=0;i<16;i++)
- {
- if(i==seta)printf("%3d",a);
- else if(i==setb)printf("%3d",b);
- else printf("%3d",0);
- }
- printf("\n");
- }
- int main(void)
- {
- int i,j,k,l,num=1;
- for (i=0;i<16;i++)
- for (j=i+1;j<16;j++)
- for(k=0;k<16;k++)
- for(l=0;l<16;l++)
- {
- printf("遍历次数:%-4d\t",num++);
- print(i,j,k,l);
- }
- return 0;
- }
复制代码
|