[C语言学习]作业七

题目: 
1)下载PC电脑的九宫方阵,运行示例,找出奇数、4倍偶数魔方阵的排数规律,编制C程序,显示奇偶数方阵数的排列及横竖斜线和的值。
7阶魔方阵8阶魔方阵
22314049 21120 |175 16362 4 55958 8 |260
2123324143 312 |1755610115352141549 |260
131524334244 4 |1754818194544222341 |260
 5141625343645 |1752539382829353432 |260
46 6 817263537 |1753331303637272640 |260
3847 7 9182729 |1752442432120464717 |260
303948 1101928 |17516505113125455 9 |260
---------------------------- 57 7 66061 3 264 |260
175 175 175 175 175 175 175--------------------------------
左斜线和为: 175右斜线和为: 175260 260 260 260 260 260 260 260
左斜线和为: 260右斜线和为: 260
 (以上一题能做多少做多少,调试正确后粘贴在下框内,提交作业)


--------------------------------------------------------------------------------

提交作业时间:2004-3-24 11:18:35   
#include <stdio.h>
void main()
{
    int magic[99][99]={0};
    int n,n1,i,j,m=1,sum=0;
    printf(">>Enter the number of Matrix: ");
    scanf("%d",&n);
if (n%2==1)
{
    i=n;j=(n+1)/2;
    for(;m<=n*n;m++)
    {
       if((i>n)&&(j>n)||magic[i][j]!=0)
   i=i-2,j=j-1;
       if(i>n) i=1;
       if(j>n) j=1;
       magic[i][j]=m;
   i++; j++;
    }
}
    else
{
n1=n*n+1;
    for(i=1;i<=n;i++)
  for(j=1;j<=n;j++)
  {
   magic[i][j]=m;
       if((i%4==1||i%4==0)&&(j%4==2||j%4==3)||(i%4==2||i%4==3)&&(j%4==1||j%4==0))
   magic[i][j]=n1-m;
      m++;  
  }
   }
    printf("/nThe %d * %d magic square: /n/n",n,n);
    for(i=1;i<=n;i++)
    {
       for(j=1;j<=n;j++)
   {printf("%4d",magic[i][j]); sum+=magic[i][j];}
       printf("  | %4d/n",sum),sum=0;
    }
   for (i=1;i<=n;i++) printf("____");printf("/n/n");
    for (j=1;j<=n;j++)
{
for (i=1;i<=n;i++) sum+=magic[i][j];
    printf("%4d",sum);sum=0;      
}
    printf("/n/n");
    for (i=n;i>=1;i--) {j=n+1-i;sum+=magic[i][j];}
    printf("左斜线和:%4d ",sum);sum=0;
    for (i=1;i<=n;i++) {j=i; sum+=magic[i][j];}
    printf("     右斜线和:%4d/n/n",sum);

}
得分:8  点评:if((I%4==1||I%4==0写在一行
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值