C语言求对角元素之和
‘壹’ c语言建立一个3*3矩阵,求对角线元素之和
这里所说的对角线元素之和是指两条对角线上元素的总和吗?下面的代码段,可以实现这样的功能。
int i,j,s=0,a[3][3];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{scanf("%d",&a[i][j]); //读取一个元素的值
if(i==j||i+j==2)。 //若是对角线上的元素
s+=a[i][j]; //累加求和
}
printf("%d",s);. //输出
‘贰’ 用C语言编写程序,求某一方阵中对角线元素和。要求:考虑主对角线和副对角线
您好,很高兴回答您的问题。
对于一个方阵而言,求主次对角线的和其实并不难,就是要学会分析主次对角线上数据的下标之间的关系。
对于主对角线而言,它的数组元素的下标之间的关系是:行列号是相等的;对于次对角线而言,数组元素的下标关系为:行列号之和为方阵数-1.
#include<stdio.h>
#define N 3
void main()
{int i,j,a[N][N],s1=0,s2=0;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
for(i=0;i<N;i++)
{s1=s1+a[i][i];
s2=s2+a[i][N-1-i];
}
printf("%5d,%5d",s1,s2);
}
‘叁’ c语言求定3*3矩阵中,主副对角线上所有元素之和
#include <stdio.h>
#define N 3
int main() {
int i,a[N][N] = {1,2,3,4,5,6,7,8,9};
int major_diagonal = 0,assist_diagonal = 0;
for(i = 0; i < N; ++i) {
major_diagonal += a[i][i];
assist_diagonal += a[i][N - 1 - i];
}
printf("主要对角线的和为:%d ",major_diagonal);
printf("辅助对角线的和为:%d ",assist_diagonal);
return 0;
}
‘肆’ 这是C语言编程题,求一个3*3矩阵对角线元素之和
# include <stdio.h>
int main()
{
int i,j,a[3][3];
int sum1 = 0,sum2 = 0; //sum1 主对角线值,sum2 副对角线值。
// 输入3*3的矩阵。
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
printf("请输入a[%d][%d]的值是:",i,j);
scanf("%d",&a[i][j]);
}
// 计算对角线的值
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
if(i==j)
sum1 = sum1 + a[i][j];
if(i+j==2)
sum2 = sum2 + a[i][j];
}
printf("主对角线之和是:%d\n副对角线之和是:%d",sum1,sum2);
return 0;
}
‘伍’ C语言:编写程序,求一个n×n矩阵对角线元素之和。
求一个n×n矩阵对角线元素之和的源代码如下
public class lianxi28 {
public static void main(String[] args) {
System.out.println("请输入九个整数:");
Scanner in = new Scanner(System.in);
int[][] a = new int[3][3];
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
a[i][j]=in.nextInt();
}
}
System.out.println("你输入的n×n矩阵是:");
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
System.out.print(a[i][j]+" ");
}
System.out.println();
}
System.out.println();
int sum=0;
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
if(i==j){
sum=sum+a[i][j];
}
System.out.println(sum);
}
(5)C语言求对角元素之和扩展阅读
1、用arrange生成一个数组,元素为0,1,...,8,然后利用reshape生成一个n×n的矩阵。
2、利用for循环将该矩阵的主对角线上的元素相加,然后输出结果。
‘陆’ 用c语言求方阵中对角线元素之和 (数组)
// 假设数组元素有x * x个,数组名为 a;
//即,有一个宽为x,高为x的方阵;
int count = 0;
for(int i = 0;i < x;++i)
count += a[i * x + i];
‘柒’ c++,C语言编程问题:求一个 3×3 矩阵对角线元素之和。
#include<stdio.h>
#define n 3
int main()
{
int i,j,a[n][n],sum=0;
printf("请输入矩阵(3*3): ");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++)
sum+=a[i][i];
printf("对角线之和为:%d ",sum);
return 0;
}
C++
代码
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a[3][3],m=0,n=0;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
cin>>a[i][j];
for(int i=0;i<3;i++)
{
m+=a[i][i];
n+=a[i][2-i];
}
cout<<m<<' '<<n<<endl;
return 0;
}
(7)C语言求对角元素之和扩展阅读:
一、return在函数中的作用
我们如果将函数看做一个加工厂,参数就是我们向加工厂投入的原料,具体的函数功能实际上就是加工的过程,而return语句代表返回值,就是加工厂在实现加工之后给“投资人”的成品。
二、return语句的特点
1、在函数当中,遇到return语句之后就意味着函数运行的结束,在此之后的代码是不运行的。
2、它不支持任何运算也没有任何内建方法,和任何其他的数据类型比较是否相等时永远返回false,也可以将None赋值给任何变量。
3、执行到return语句时,会退出函数,return之后的语句不再执行。但将return语句放在try语句块中,是个例外。
三、return的默认值:return函数默认的返回值为undefined。
‘捌’ 求一个3×3的整型矩阵对角线元素之和(用c语言)
c语言求一个3×3的整型矩阵对角线元素之和步骤如下:
1、打开Dev-c++软件,点击“新建源代码”。
‘玖’ C语言作业:求主次对角线元素之和
写的是4*4矩阵的主次对角线元素之和,其他改下数字即可
#include<stdio.h>
#define n 4
void main()
{int i,j,sum1=0,sum2=0;
pirntf("please input :\n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{if(i==j) sum1+=a[i][j];/*主对角线和为sum1,次对角线之和为sum2*/
if(i+j==3) sum2+=a[i][j];
}
printf("sum1=%d\nsum2=%d",sum1,sum2);
printf("\n");
}
‘拾’ 用c语言任意输入一个3行3列的二维数组,求对角元素之和
#include<stdio.h>
#defineM3
#defineN3
voidcreateMatrix(intmatrix[M][N],intm,intn){/*创建矩阵*/
inti,j;
printf("开始输入矩阵内容(%d行%d列) ",m,n);
for(i=0;i<m;i++){
printf("输入第%d行的%d个元素:",i+1,n);
for(j=0;j<n;j++)
scanf("%d",&matrix[i][j]);
}
}
voidprintMatrix(intmatrix[M][N],intm,intn){/*打印矩阵*/
inti,j;
for(i=0;i<m;i++){
for(j=0;j<n;j++)
printf("%d ",matrix[i][j]);
printf(" ");
}
}
voidprintMatrix_diagonal(intmatrix[M][N],intm,intn){/*打印对角线元素和*/
inti,j;
for(i=0;i<m;i++){
for(j=0;j<n;j++)
if(i==j||i+j==M-1)
printf("%d ",matrix[i][j]);
else
printf(" ");
printf(" ");
}
}
intdiagonalSum(intmatrix[M][N],intm,intn){/*求对角线元素和*/
inti,j,sum=0;
for(i=0;i<m;i++){
for(j=0;j<n;j++)
if(i==j||i+j==M-1)
sum+=matrix[i][j];
}
returnsum;
}
intmain(void){
intmatrix[M][N];
createMatrix(matrix,M,N);
printf("====================================================== ");
printf("您输入的矩阵为: ");
printMatrix(matrix,M,N);
printf("对角线元素为: ");
printMatrix_diagonal(matrix,M,N);
printf("对角线元素之和为: ");
printf("%d ",diagonalSum(matrix,M,N));
return0;
}