当前位置: 代码迷 >> C语言 >> [求助]指针问题。
  详细解决方案

[求助]指针问题。

热度:82   发布时间:2007-04-23 20:59:50.0
[求助]指针问题。

#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');
}
}


----------------解决方案--------------------------------------------------------
  相关解决方案