作业帮 > 综合 > 作业

跪求c语言大神改动一个随机数产生问题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/25 13:03:18
跪求c语言大神改动一个随机数产生问题
在下图的二维数组中如何在其内部(即为全部为0表示内部)产生n个随机数使n个0变为n个1

printf("请输入迷宫的行数,列数(包括外墙):\n");
scanf("%d%d",&x,&y);
for(i=0;i
你好!
能不能不把代码贴成图片,你方便了,帮你出来问题的人呢,一个个字符输入,直接复制代码出来
再问: 代码已经粘贴了
再答: 你好!!代码改过了,你试试吧,满意请采纳!完成的代码:
#include <stdio.h>
#include <stdlib.h> 
int main()
{
int x,y;
int x1,y1;
int i,j;
int m[100][100];

printf("请输入迷宫的行数,列数(包括外墙):\n");
   scanf("%d %d",&x,&y);
  
   for(i=0;i<y;i++) // 定义周边值为0(同墙)
   {
     m[0][i]=1; // 行周边
     m[x-1][i]=1;
   }
   for(j=1;j<x-1;j++)
   {
     m[j][0]=1; // 列周边
     m[j][y-1]=1;
   }
   for(i=1;i<x-1;i++)
     for(j=1;j<y-1;j++)
       m[i][j]=0; // 定义通道初值为0

printf("打印初始化的图\n"); 

   for(i=0;i<x;i++)
{
     for(j=0;j<y;j++)
       printf("%d ",m[i][j]); // 打印初始化的图 
     printf("\n");
}

  
getchar();  
  int b=(x-2)*(y-2);
  printf("请输入迷宫内墙单元数,并且使其数小于%d:\n",b);
  scanf("%d",&j);
  
  for(i=1;i<=j;i++)
  {
   x1=(rand()%(x-2))+1;
   y1=(rand()%(y-2))+1;
   m[x1][y1]=1; // 定义墙的值为1
 }

printf("打印有内墙的图\n"); 
   for(i=0;i<x;i++)
{
     for(j=0;j<y;j++)
       printf("%d ",m[i][j]); // 打印有内墙的图
     printf("\n");
}
 
}