根据用户输入的行数和列数用C语言制作一张n*m含有k个障碍的地图,并放在数组中,写出代码
时间: 2023-03-07 19:50:58 浏览: 66
很高兴为您提供帮助。这里是可以用来制作n*m地图数组的C语言代码:int n,m,k; // n,m为用户输入的行数和列数,k为障碍的个数
int map[n][m]; // 定义一个n行m列的数组
for(int i=0;i<n;i++){ // 遍历每一行
for(int j=0;j<m;j++){ // 遍历每一列
map[i][j] = 0; // 设置每个元素的值为0
}
}
for(int i=0;i<k;i++){ // 将障碍的个数k放入数组
int x = rand()%n; // 随机生成一个0~n-1的整数
int y = rand()%m; // 随机生成一个0~m-1的整数
map[x][y] = 1; // 设置障碍的值为1
}
相关问题
写出代码,根据用户输入的行数和列数用C语言制作一张n*m含有k个障碍的地图,并放在数组中
#include<stdio.h>
int main()
{
int n,m,k;
printf("请输入行数:");
scanf("%d",&n);
printf("请输入列数:");
scanf("%d",&m);
printf("请输入障碍数:");
scanf("%d",&k);
int map[n][m];
for(int i = 0; i < n; i++)
{
for(int j = 0; j < m; j++)
{
map[i][j] = 0;
}
}
for(int i = 0; i < k; i++)
{
int x,y;
printf("请输入第%d个障碍位置:",i+1);
scanf("%d%d",&x,&y);
map[x][y] = 1;
}
for(int i = 0; i < n; i++)
{
for(int j = 0; j < m; j++)
{
printf("%d ",map[i][j]);
}
printf("\n");
}
return 0;
}
根据用户输入的行数和列数用C语言制作一张n*m含有k个障碍的地图,并放在数组中,写出代码
int map[n][m];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
if (k > 0)
{
map[i][j] = 1;
k--;
}
else
map[i][j] = 0;
}
}