指针计算随机矩阵中对角线元素之和

题目简介:

编写程序:随机生成一个矩阵,使用指针计算矩阵中对角线元素之和,矩阵中每个元素由随机函数随机生成。

编程思路:

利用随机函数随机生成对角线元素之和,定义数组指针,使其指向二维数组,利用指针计算对角线元素之和。

代码:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<stdlib.h>//rand():随机数生成器;
void input(int *p0,int n)
{
    int i,j;
    srand((unsigned) time(NULL));
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            *((p0+i)+j)=rand()%10;
        }
    }
}
int djxh(int *p1,int n)
{
    int i,j,sum=0;
    for(i=0,j=0;i<n;i++,j++)
    {
        sum+=*((p1+i)+j);
    }
    for(i=0,j=n-1;i<n;i++,j--)
    {
        sum+=*((p1+i)+j);
    }
    return sum;
}
void output(int *p2,int n)
{
    int i,j;
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            printf("%5d",*((p2+i)+j));
        }
        printf("\n\n\n");
    }
}
int main()
{
    int N,a[101][101];
    srand((unsigned) time(NULL));
    N=rand()%4+2;
    input(a,N);
    output(a,N);
    printf("%d",djxh(a,N));
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43736435/article/details/88366984