网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月05日漏签0天
c语言吧 关注:798,836贴子:4,355,867
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 18回复贴,共1页
<<返回c语言吧
>0< 加载中...

有没有大佬会做这道奇葩的方阵

  • 只看楼主
  • 收藏

  • 回复
  • 不早睡
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • 不早睡
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这道方阵叫啥


2025-06-05 21:15:10
广告
  • 金色潜鸟
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <stdio.h>
int main()
{
int i,j;
int n,m;
int vs=1,vsj;
int a[18][18];
printf("input n:\n");
scanf("%d", &n);
for (i=0;i<n;i++){
vs=vs+i;
a[0][n-i-1]=vs;
};
vsj=vs;
for (j=1;j<n;j++){
vsj=vsj+(n-j+1);
a[j][0]=vsj;
}
for (j=1;j<n;j++)
for (i=1;i<n;i++)
a[j][i]=a[j-1][i-1]+1;
for (j=0;j<n;j++){
for (i=0;i<n;i++)printf("%4d",a[j][i]);
printf("\n");
}
return 0;
}


  • 金色潜鸟
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
上面方法未必很好,但能完成任务。
思路:
方阵特点: a[j][i]=a[j-1][i-1]+1;
如知道 起始行和起始列的各点数值,就可算出其它所有点的数值。
于是,先算出 0 行 各点数值,再算出 0 列各点数值,就解决问题了。


  • 吾名喵喵之翼
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
穿针引线这不是杂化的那个么


  • 青珩未世
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我记得c还是c++的输出有对齐操作


  • huanyingzixin
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

不费脑模式


  • 小翼翼
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
用二维数组和for循环


2025-06-05 21:09:10
广告
  • 到底什么名字才不重复
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我这暴脾气,直接打表,给他打表打到18*18方阵


  • I0me0I
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
可以从右上角开始斜向下遍历数组,
这样就是123456...
前略
s=1;
for(k=N-1;k>-N;k--){
for(i=max(0,k);i<N;i++){
x[i-k][i]=s;
s++;
}
}
最后输出数组x就行了


  • 天际信使
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
规律很明显啊


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 18回复贴,共1页
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示