免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: ly4885806
打印 上一主题 下一主题

认为自己还可以的就进来试试吧! [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-12-21 18:05 |只看该作者
我是楼主:
有些人不要光会说屁话,从你的话里就知道你几斤几两,放屁不怕腰疼。
我先给出一个比较蠢但思路简单的答案,明天我给出比较好的答案,可以通用所有奇数方阵的同条件的题目。
#include"stdio.h"
void main()
{
    int a[9],i,j;
    int t,p;
    for(p=100000000;p<1000000000;p++)
{
        t=p;
        for(i=8;i>=0;i--)
  {
   a[i]=t%10;
            t/=10;
  }
        for(i=0;i<9;i++)
        for(j=i+1;j<9;j++)
  {
   if(a[i]==a[j])
            goto APP;
  }
        if(a[0]+a[1]+a[2]==15 && a[3]+a[4]+a[5]==15 && a[6]+a[7]+a[8]==15 && a[0]+a[3]+a[6]==15 && a[1]+a[4]+a[7]==15 && a[2]+a[5]+a[8]==15 && a[0]+a[4]+a[8]==15 && a[2]+a[4]+a[6]==15)
  {
   printf("%d %d %d\n",a[0],a[1],a[2]);
            printf("%d %d %d\n",a[3],a[4],a[5]);
            printf("%d %d %d\n",a[6],a[7],a[8]);
   printf("\n");
  }
        APP: continue;
}
}

论坛徽章:
0
12 [报告]
发表于 2005-12-21 18:39 |只看该作者
Please keep your temper and be not so rude to other CUers!
From the code you post here, I am sure you are just so so.
Everyone has something that others could learn from.

论坛徽章:
0
13 [报告]
发表于 2005-12-21 18:55 |只看该作者
拜托不要学了几天洋文就忘了自己是说汉语的。
我也论不到你来教训,我说话是不怎么好听,可现实就是如此,敢于揭露问题,这有什么不好。
我也确实是SO SO  刚学C才不过3个月呢。
建议以后费话少说一点,大道理谁都懂。我在这里也确实学到了不少东西。不过看不惯的我以后照说不误。
我本着一个目的:大家共同提高!
方法千千万万条,目标只有一个!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
14 [报告]
发表于 2005-12-21 19:28 |只看该作者
从你的代码就看出来你不咋的。说话不要冲,帖子先锁了,换了态度再来。

这个问题谁学C的时候都写过吧?soso。

论坛徽章:
0
15 [报告]
发表于 2005-12-21 20:18 |只看该作者
楼主:首先为上面自己的无礼向看贴的人道歉,我没有任何恶意的呀。只是有点初生牛犊不怕虎的味道,冲动了点冒犯了大家。
在这向大家赔不是了。以后还要请大家多多关照!!!!


下面是我写的认为比较好的程序,请大家看一下。有什么问题相互交流呀。
注意大家应该注意填魔方阵有一个规律,这里就是利用了这个规律。具体什么规律我就不说了,大家看了便知道,免的班门弄斧。呵呵!!!!!
/*N的值可以自己改变,不影响下面的代码,我认为不能为偶数,赞同的请顶一下*/

#define N 9
#include<stdio.h>
void main()
{
int i,j,k,a[N][N];
for(i=0;i<N;i++)
for(j=0;j<N;j++)
a[j]=0;
j=N/2;
a[0][j]=1;
for(k=2;k<=N*N;k++)
{
  i--;
  j++;
  if(i<0)
   i=N-1;
  else
  if(j>N-1)
        j=0;
  if(a[j]==0)
  a[j]=k;
  else
  {
   i=(i+2)%N;
   j=(j-1+N)%N;
   a[j]=k;
  }
}
printf("\n\n");
for(i=0;i<N;i++)
{
  printf("\t");
  for(j=0;j<N;j++)
   printf("%4d",a[j]);
  printf("\n\n");
}
return;
}

论坛徽章:
0
16 [报告]
发表于 2005-12-21 21:00 |只看该作者
原帖由 ly4885806 于 2005-12-21 20:18 发表
楼主:首先为上面自己的无礼向看贴的人道歉,我没有任何恶意的呀。只是有点初生牛犊不怕虎的味道,冲动了点冒犯了大家。
在这向大家赔不是了。以后还要请大家多多关照!!!!


下面是我写 ...

代码这会儿没时间看,提醒楼上贴代码的时候选中那个“插入代码”按钮,这样出来就不是斜体了
(我听人说"[ i ](无空格)"会导致斜体)哈哈

[ 本帖最后由 tjsailor 于 2005-12-21 21:06 编辑 ]

论坛徽章:
0
17 [报告]
发表于 2005-12-21 21:05 |只看该作者
嘲笑我?
生气!!!!!!!!!!!

论坛徽章:
0
18 [报告]
发表于 2005-12-21 21:05 |只看该作者
hehe

论坛徽章:
0
19 [报告]
发表于 2005-12-21 21:07 |只看该作者
原帖由 ly4885806 于 2005-12-21 21:05 发表
嘲笑我?
生气!!!!!!!!!!!

我看你贴出来的代码是斜体,好心劝你,何为嘲笑?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
20 [报告]
发表于 2005-12-21 21:42 |只看该作者
这个题目并不难,用激将法也没有意义。

还是佩服 aero ,技术好,不骄不躁,性格也好。

正如 aero 老大所言,学 C 的基本功而已,关键是找出算法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP