我现在只会随机生成20个数,如何生成数组啊,如图所示:
int a[4][5];
for(int i=0;i<4;i++)
{
for(int j=0;j<5;j++)
{
a[i][j]=1+rand()%100;
}
}
有用可采纳
int a[4][5];申明数组呀,然后循环把随机数字放进去,再跟k对比
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a[20] = {0};
int b[4][5];
int c;
int i,j,k;
printf("随机产生20个【1-100】范围内的随机数:\n\n");
srand(time(0));
for(i = 0;i < 20; i++)
{
a[i] = 1+rand()%100;
}
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
b[i][j]=a[k];
k++;
}
}
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
printf("%3d ",b[i][j]);
}
printf("\n");
}
printf("请输入一个数字:");
printf("\n");
scanf("%d",&c);
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
if( (k > b[i][j] && k - 5 > b[i][j]) || (k < b[i][j]) && k + 5 < b[i][j] )
{
printf("%3d ",b[i][j]);
}
}
}
}