
#include <stdio.h>
#include <stdlib.h>
int n,p,a[33],b[33],mid,move
void dfs(int deep,int sum)
{
int i
if (deep>n) return
if (sum>mid+move) return
else
{
if (deep>0 &&abs(sum-mid)<=move)
{
for (i=1i<=ni++)
{
if (b[i]==1) printf("%d ",i)
p++
}
printf("\n")
}
for (i=1i<=ni++)
{
if (b[i]==0)
{
b[i]=1
sum=sum+a[i]
dfs(deep+1,sum)
sum=sum-a[i]
b[i]=0
}
}
}
}
int main ()
{
int i,j
printf("请输入数组中元素个数(n<=32): ")
scanf("%d",&n)
printf("\n")
printf("请塌态依次输入 %d 个数 (0-200): ",n)
for (i=1i<=ni++)
{
scanf("%d",&a[i])
b[i]=0
}
printf("\厅衫谈n")
printf("请输入扮碰中心值 : ")
scanf("%d",&mid)
printf("\n")
printf("请输入正负偏差值 : ")
scanf("%d",&move)
abs(move)
printf("\n")
printf("----------我是华丽的分割线----------\n")
dfs(0,0)
if (p==0) printf("无解啊!!!!\n")
return 0
}
打印输出这种的效果,弊运不对的话再微调修改下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0//存放行
int j = 0//存放孝森列
double sum//存放对角线数据和
//定义一个整型二维数组array并初始化
int array[5][5] = {
{1,2,3,4,5},
{6,7,8,9,10},
{11,12,13,14,15},
{16,17,18,19,20},
{21,22,23,24,25},}
//以5x5的矩阵形式输出数巧卜亩组
for(i=0i<5i++)
{
for(j=0j<5j++)
{
// printf("第%d行第%d列元素是:%4d\t",i+1,j+1,array[i][j])
printf("%4d",array[i][j])//打印输出矩阵数组
if(j==4)
{
printf("\n")
}
if(i == j || 4-i == 4-j) //计算对角线之和
{
sum += array[i][j]
sum += array[4-i][4-j]
}
}
}
printf("\n对角线之和是:%4.lf\n",sum)
return 0
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)