C语言程序设计需要解析

随机产生n个100以内的正整数放入数组中输出这n个整数(每行10个),将其数值逆序重新存放。(n由键盘输入,需要判断n的合法性)(如:原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。)

参考如下:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    int a[100],i,j,n,t;
    scanf("%d",&n);
    srand((unsigned int)time(NULL));
    for(i=0;i<n;i++)
        a[i] = rand()%100;//0-99的随机数

    //正序输出
    for(i=0;i<n;i++)
        printf("%d ",a[i]);
    printf("\n");
    //逆序
    i=0;j=n-1;
    while(i<j)
    {
        t =a[i];
        a[i]=a[j];
        a[j]= t;
        i++;
        j--;
    }
    //输出逆序后
    for(i=0;i<n;i++)
        printf("%d ",a[i]);
    return 0;
    
}

//随机产生n个100以内的正整数放入数组中输出这n个整数(每行10个),将其数值逆序重新存放。(n由键盘输入,需要判断n的合法性)(如:原来顺序为86541。要求改为14568。)
#include <stdio.h>
#include <time.h>
int main()
{
    int a[100];
    int n,i,t;
    scanf("%d",&n);
    while(n<=0)
    {
        printf("输入错误,请重新输入");
        scanf("%d",&n);
    }
    srand(time(NULL));
    for(i=1;i<=n;i++)
    {
        a[i-1] = rand()%100+1;
        printf("%d ",a[i-1]);
        if(i%10==0)
            printf("\n");
    }
    for(i=0;i<n/2;i++)
    {
        t = a[i];
        a[i] = a[n-i-1];
        a[n-i-1] = t;
    }
    for(i=1;i<=n;i++)
    {
        printf("%d ",a[i-1]);
        if(i%10==0)
            printf("\n");
    }
    return 0;
}


#include<stdio.h>
#include<math.h>
#include<stdlib.h>

int main(int argc, char* argv[])
{
    int *m,i,n;
    printf("请输入个数:\n");
    scanf("%d",&n);

    if (n<=0)
    {
        return -1;
    }

    m = (int *)malloc(sizeof(int) * n);

    srand( (unsigned)time( NULL)); //srand()函数产生一个以当前时间开始的随机种子
    for (i=0;i<n;i++){
        m[i]=0;
    }

    for (i=0;i<n;i++){

        m[i] = rand() % 100;
    }

    for (i=n-1;i>=0;i--){

        printf("%d ", m[i]);
        if (i % 10 == 0)
        {
            printf("\n");
        }
    }

    free(m);

    getchar();
    return 0;
}

img