| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 952 人关注过本帖
标题:哪位高人指点一下~幸运方阵的问题!
只看楼主 加入收藏
makehy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-4-26
收藏
 问题点数:0 回复次数:5 
哪位高人指点一下~幸运方阵的问题!
[程序说明] 输入一个方阵阶数和"幸运数",生成幸运方阵.幸运方阵是指从方阵中任意划去一行和一列,记下交叉点的数值,再从方阵剩余部分任意划去一行一列,再记下交叉点数值,继续这一过程,当方阵不剩任何元素时,所有记下的元素值之和恰好为输入的幸运数. 按规定的划法,所有记下的交叉点元素两两均是不同行不同列,并且这些元素的全体刚好覆盖了方阵的全部行列. 在程序中,每行给定一个数值,每列也给定一个数值,并且所有给定的行、列数值之和为输入的幸运数。在填写矩阵数据时,某位置上的值就为该位置和行数值加上该位置的列数值。 在程序中出现的函数rand()的功能是返回一个随机正整数。 代码不全,哪位高人能帮我全部添好,分析一下~谢谢了~耐心等待中~ 我还是C语言的小菜鸟~ [程序] #include <stdio.h> #include <math.h> #define N 10 /*函数rand()的代码略去*/ main() { int lucky[N][N],row[N],col[N]; int n,lucky_n,k,sum,i,j; scanf("%d",&n) /*输入幸运方阵阶数n*/ scanf("%d",&lucky_n); /*输入幸运数字*/ k=lucky_n/n; if(k==0) { printf("\n输入的幸运数字太小!“); exit(0); } sum=0; for(i=0;i<n;i++) { row=rand()%k; col=rand()%k; sum+=(1); /* (1)处填"row+col" */ } col[n-1]=col[n-1]+(2); /* (2)处填"sum-lucky_n" */ /* 生成幸运方阵 */ for(i=0;i<n;i++) for(j=0;j<n;j++) (3); /* (3)处填"a[j]=row+col[j]" */ for(i=0;i<n;i++) {for(j=0;j<n;j++) printf("%4d",lucky[j]); printf("\n"); } } 代码不全,哪位高人能帮我全部添好,分析一下~谢谢了~耐心等待中~ 我还是C语言的小菜鸟~
搜索更多相关主题的帖子: 方阵 数值 高人 交叉点 元素 
2005-04-26 09:08
makehy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-4-26
收藏
得分:0 
请教啊~谢谢大家了~
2005-04-26 09:18
makehy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-4-26
收藏
得分:0 
哭求啊~
2005-04-26 11:05
makehy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-4-26
收藏
得分:0 
再小顶一下
2005-04-26 12:38
blanka_ren
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2005-4-5
收藏
得分:0 
  懒得看了  但你用随机函数的时候应该再加个随机种子吧 就是srand
否则的话多是伪随机  不信你试下

2005-04-26 21:44
amkefy
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-4-26
收藏
得分:0 
顶自己一下~
2005-04-27 08:08
快速回复:哪位高人指点一下~幸运方阵的问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016647 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved