论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > C语言程序设计教程
Tag:新手,函数,指针,数据类型,对象,Turbo,入门,运算符,数组,结构,二级,,tc,游戏,试题,问答,编译,视频教程

用一维数组存储上三角螺旋矩阵

文章类别:C语言程序设计 | 发表日期:2008-9-24 14:36:26

    初学编程,程序中很多地方都不够完备,望大家见谅。     

#include <iostream.h>
#include <iomanip.h>
#include <stdio.h>
#define m 20
#define h(i,j) ((2*c+2-i)*(i-1)/2+j-i+1)  //二维数组中元素在一维数组中的位置
main()
{ int i=1,j=0,s=0,k,n,c;
  int a[m*(m+1)/2+1];                 
  a[1]=1;
  printf("please input the number\n");
  scanf("%d",&n);
  c=n;
  while(n>0)
   {
    for(k=1;k<=n;k++){j++;a[h(i,j)]=++s;}n--;//横向赋值
    for(k=1;k<=n;k++){i++;a[h(i,j)]=++s;}n--;//纵向赋值
    for(k=1;k<=n;k++){j--;i--;a[h(i,j)]=++s;}n--;//斜向赋值
   }
k=0;
for(i=1;i<=c;i++)
for(j=1;j<=c;j++)
{
 if(i>j)
 cout<<setw(4)<<"0";
 else
 if(j==c){k++; cout<<setw(4)<<a[k]<<endl; } else {k++;cout<<setw(4)<<a[k];}
 }
}

视频教程列表
文章教程搜索
 
C语言程序设计推荐教程
C语言程序设计热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058