编写程序,产生20个[1,100]中的随机数到4行5列数组,任意输入一个正整数k,输出数组中与k大小相差为5以上的所有元素。(语言-c语言)

我现在只会随机生成20个数,如何生成数组啊,如图所示:

img


请教各位,谢谢!

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]);
            }
        }
    }
}