#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#define N 9
void input(int *p)
{
// int i,j;
srand((unsigned)time(NULL));
*p=rand()%9+1;
}
void output(int a[N][N])
{
int i,j,count=0;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
{
printf("%-3d",a[i][j]);
count++;
if(count%9==0)
printf("\n");
}
}
void main()
{
int row,col,ary[N][N];
int *p;
p=&ary[0][0];
for(row=0;row<N;row++)
for(col=0;col<N;col++)
{
input(p);
p++;
}
output(ary);
}
我想打出9*9的矩阵,数字是有随即函数输入,但我现在数字全都一样。
----------------解决方案--------------------------------------------------------
少了个随机函数发生器,加个句 randomize();还有,你这个算法不能实现.
[此贴子已经被作者于2007-4-23 21:07:10编辑过]
----------------解决方案--------------------------------------------------------
问题好像不在着,好像是在指针的++上。
----------------解决方案--------------------------------------------------------
这样就行了.
#include<stdio.h>
#include<stdlib.h>
#define N 9
int main(void)
{
int a[N][N]={0};
int i=0,j=0;
randomize();
for(i=0;i<9;i++)
for(j=0;j<9;j++)
{
a[i][j]=random(10);
}
for(i=0;i<9;i++)
{for(j=0;j<9;j++)
printf("%d ",a[i][j]);
putchar('\n');
}
}
----------------解决方案--------------------------------------------------------