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

这是我的代码,它运行不出来。

#include
#include
#include
int main()
{
    int a[4][5]={0};
    int i,j,k;
    printf("随机产生20个[1,100]范围内随机数:\n\n");
    srand(time(0));                         
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 5; j++)
        {
            a[i][j] = 1 + rand() % (100);
            printf("%5d", a[i][j]);
            
        }
        printf("\n");
    }
    printf("请输入k的值:");
    scanf("%d", &k);
    printf("与k大小相差为5以上的所有元素有:\n");
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 5; j++)
        {
            if ((k > a[i][j] && k - a[i][j] > 5) || (k < a[i][j]) && a[i][j]-k>5)
            printf("%5d", a[i][j]);

        }
        printf("\n");
    }
    return 0;
}

这是报错

img


我的代码有什么问题吗,然后这个报错是什么意思啊,谢谢!

错误提示已经很清晰了,你直接翻译成汉语就明白了
翻译:scanf已过时,不安全,要用scanf_s代替,或者你加入_xxx一堆到#define里忽略警告

scanf改成scanf_s