注册 登录
编程论坛 C图形专区

5*5的方阵编程

jesus3104 发布于 2010-05-23 15:55, 1099 次点击
0 0 0 0 1
0 0 0 1 2
0 0 1 2 2
0 1 2 2 2
1 2 2 2 2
用C语言怎么编程?
8 回复
#2
鬼打墙2010-06-01 21:15
用二维数组怎么样
#3
promising2010-06-01 23:57
void value(int a[5][5])//赋值函数
{
int i,j;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(i+j<4)a[i][j]=0;
else if(i+j==4) a[i][j]=1;
    else a[i][j]=2;
}
是这样吧

[ 本帖最后由 promising 于 2010-6-3 23:21 编辑 ]
#4
yangxiuquan2010-06-19 17:39
正确答案:#include<stdio.h>
void main()
{int a[5][5];
int i,j;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
  {if(i+j<4)
   a[i][j]=0;
   else if(i+j==4)
   a[i][j]=1;
   else a[i][j]=2;
   printf("%d",a[i][j]);
   if(j==4)
   printf("\n");
   }
}来得稍微迟了些~~~


#5
yangxiuquan2010-06-19 17:40
正确答案:#include<stdio.h>
void main()
{int a[5][5];
int i,j;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
  {if(i+j<4)
   a[i][j]=0;
   else if(i+j==4)
   a[i][j]=1;
   else a[i][j]=2;
   printf("%d",a[i][j]);
   if(j==4)
   printf("\n");
   }
}来得稍微迟了些~~~


#6
谁的益达2010-11-09 15:21
#include"stdio.h"
main()
{

printf("000001\n");
printf("000012\n");
printf("00122\n");
printf("01222\n");
printf("12222\n");
}
哥的应该不错吧  
#7
cx125882010-11-09 15:28
笑 楼上用的是什么放法?
#8
谁的益达2010-11-09 15:31
printf ()
 这才是最简单的啊  你们把问题都想复杂了
#9
zhurong90s2010-12-02 21:44
n阶行列式求法
#include<stdio.h>
#include<conio.h>
int main()
{
    char l;
    int a[100][100],z;
    int i,j,t,n,m1,m2,g,k,c,e;
    int b[150];
    loop:
    printf("Input n :");
    scanf("%d",&n);
    clrscr();
    if(n>100)
    {
        printf("It's too big \n");
        goto loop;
    }

    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
            {
                gotoxy(1+j*4,1+i*2);
                scanf("%d",&a[i][j]);
            }
    }
   
    b[1]=1,i=1;
    z=0;

    while(1)
    {
        g=1;
        for(k=i-1;k>=1;k--)
            if(b[k]==b[i])
                g=0;
        if(i==n&&g!=0)
        {
            t=1;
            for(j=1;j<=n;j++)
            {
                c=b[j]-1;
                t*=a[j-1][c];   
            }
            e=0;
            for(m1=1;m1<=n;m1++)
                for(m2=m1+1;m2<=n;m2++)
                    if(b[m1]>b[m2])
                        e++;
            if(e%2)
                t=-t;
            z+=t;
        }
        
        if(i<n&&g==1)
        {
            i++;
            b[i]=1;
            continue;
        }
        while(b[i]==n&&i>1) i--;
        if(b[i]==n&&i==1) break;
        else b[i]++;
    }
    printf("\n\tdet(i,j) = %d\n\t\t\t\t\t",z);
    l=getch();
    if(l=='y'||l=='Y')
        {
            clrscr();
            goto loop;
        }
   
    return 0;
}
1