m0_58365219
m0_58365219
2021-05-18 10:04
采纳率: 100%
浏览 45

用函数Add()函数求一个4*4二维数组的主副对角元素之和,函数fun()求该二维数组的转置

C语言程序设计中 用函数Add()函数求一个4*4二维数组的主副对角元素之和,函数fun()求该二维数组的转置----二维数组

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • technologist_41
    已采纳
    #include<stdio.h>
    int a[4][4];
    void Add(){
        int sum1=0,sum2=0;
        int i,j;
        for(i=0;i<4;i++)
    	{
    		for(j=0;j<4;j++)
    		{
    
    			if(i==j) sum1+=a[i][j];
    			if(i+j==3) sum2+=a[i][j];
    		}
    	}
    	printf("主对角线元素之和:%d\n",sum1);
    	printf("辅对角线元素之和:%d\n",sum2);
    }
    void fun()
    {
        int i,j;
        for (i = 0; i < 4; i++)
        {
            for (j = i + 1; j < 4; j++)
            {
                int temp = a[i][j];
                a[i][j] = a[j][i];
                a[j][i] = temp;
            }
        }
        for(i=0;i<4;i++)
    	{
    		for(j=0;j<4;j++)
    		{
    			printf("%d ",a[i][j]);
    		}
    		printf("\n");
    	}
    }
    void main()
    {
    	int i,j;
    	for(i=0;i<4;i++)
    	{
    		for(j=0;j<4;j++)
    		{
    			scanf("%d",&a[i][j]);
    		}
    	}
        Add();
        fun();
    }
    
    点赞 评论
  • technologist_30
    CSDN专家-张老师 2021-05-18 10:06

    思路:首先定义一个4*4二维数组,定义一个函数接受这个数组做参数,通过循环求和

    其次 定义fun,实现转置,稍后下面提供代码

    点赞 评论
  • software7503

    行列转置

    /* Note:Your choice is C IDE */
    #include "stdio.h"
    void main()
    {
    	/*
    		2、将二维数组int a[3][3]的行列转换后输出,如:
    		1	2	3	输出成:	1	4	7
    		4	5	6				2	5	8
    		7	8	9				3	6	9
    		提示:如果stu[i][j]表示第i行第j列,则转换之后应该在第j行第i列,即应该为与stu[j][i]的位置,所以循环输出j行,每行输出i列就可以	
    	
    	*/  
    	int a[3][3];
    	int i,j;
    	for(i=0;i<3;i++)
    	{
    		for(j=0;j<3;j++)
    			scanf("%d",&a[i][j]);	
    	}  
    	printf("------------------------------------\n");
    	for(i=0;i<3;i++)
    	{
    		for(j=0;j<3;j++)
    		{
    			printf("%d\t",a[j][i]);	
    		}	
    		printf("\n");
    	}
    }

    对角线之和

    /* Note:Your choice is C IDE */
    #include "stdio.h"
    void main()
    {
    	/*
    		3、编写程序计算n行n列的二维数组对角线上的元素的和。
    		提示:行=列,行+列=n-1为两条对角线
    
    
    		正对角线所有元素的下标i==j
    		斜对角线所有元素的下标i+j=n-1
    		
    	
    	*/
        
        int i,j;
        int a[4][4];
        int sum=0;
        for(i=0;i<4;i++)
        {
        	for(j=0;j<4;j++)
        	{
        		scanf("%d",&a[i][j]);	
        		if((i==j) || ((i+j)==3))
        		{
        			sum+=a[i][j];	
        		}
        	}	
        }
        printf("对角线上的和=%d\n",sum);
        
    }
    点赞 评论
  • technologist_30
    CSDN专家-张老师 2021-05-18 10:16
    #include<stdio.h>
    
    void Add(int arry1[][4]) {
        int i,j,sum1=0,sum2=0;
    	for(i=0;i<4;i++)
    	{
    		for(j=0;j<4;j++)
    		{
    			scanf("%d",&a[i][j]);
    			if(i==j) sum1+=a[i][j];
    			if(i+j==3) sum2+=a[i][j];
    		}
    	}
    	printf("主对角线元素之和:%d\n",sum1);
    	printf("辅对角线元素之和:%d\n",sum2);
    
    }
    
    
    
    int fun(int arry1[][4],int arry2[][4])      //转置函数
    {
    	for(int i=0;i<M;i++)
    		for(int j=0;j<N;j++)
    			arry2[j][i]=arry1[i][j];
    	return 0;
    }
    
    
    void main()
    {  
        int a[4][4], b[4][4];
    	Add(a);
        fun(a,b);
    }
    

    函数Add()函数求一个4*4二维数组的主副对角元素之和

    点赞 评论
  • QA_Assistant
    有问必答小助手 2021-05-18 11:06

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论

相关推荐