C语言:编写程序,求一个n×n矩阵对角线元素之和。

如题所述

代码:

#include<iostream>

using namespace std;

int main()

{

int sum=0;

int n=0;

int**array;//指向整型的指针的指针.

cout<<"请输入矩阵的维数:"<<endl;

cin>>n;

array=new int*[n];//存放指针的数组.

for(int k=0;k<n;k++)

{

array[k]=new int[n];//指向一个整型数组.

}

cout<<"请输入n*n个值:"<<endl;

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

{

for(int j=0;j<n;j++)

{

cin>>array<i>[j];

cout<<array<i>[j]<<"";

}

cout<<endl;

}

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

sum+=array<i><i>;

cout<<"两条对角线元素之和为:"<<sum<<endl;

system("pause");

return 0;

}

扩展资料:

函数名:system

功能:发出一个DOS命令

用法:int system(char*command);

程序例:

#include<stdlib.h>

#include<stdio.h>

int main(void)

{

printf("About to spawn and run a DOS command\n");

system("dir");

return 0;

}

如:system("pause")可以实现冻结屏幕,便于观察程序的执行结果;system("CLS")可以实现清屏操作。而调用color函数可以改变控制台的前景色和背景,具体参数在下面说明。

例如,用system("color 0A");其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:

0=黑色1=蓝色2=绿色3=湖蓝色4=红色5=紫色6=黄色7=白色8=灰色9=淡蓝色A=淡绿色B=淡浅绿色C=淡红色D=淡紫色E=淡黄色F=亮白色

(注意:Microsoft Visual C++6.0支持system)

颜色属性由两个十六进制数字指定--第一个对应于背景,第二个对应于前景。每个数字

可以为以下任何值:

0=黑色8=灰色

1=蓝色9=淡蓝色

2=绿色A=淡绿色

3=浅绿色B=淡浅绿色

4=红色C=淡红色

5=紫色D=淡紫色

6=黄色E=淡黄色

7=白色F=亮白色

参考资料:

百度百科——system(函数)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-07-20
参考具体程序如下:
#include<stdio.h>
int main()
{
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int i,j,sum,m=0,sum1=0,sum2=0;
printf("array a:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%4d",a[i][j]);
m=m+1;
}
if(m%3==0)
printf("\n");
}
sum1=a[0][0]+a[1][1]+a[2][2];
sum2=a[0][2]+a[1][1]+a[2][0];
sum=sum1+sum2;
printf("对角线元素之和为%d",sum);
return 0;
}