输入一个5×5阶矩阵,编程计算每列上的各元素之和,并显示(求大神指导,C语言)
#include"stdafx.h"
#include<iostream>
using namespace std;
int main(int argc,char*argv[])
{
cout<<"请输入一个5*5的矩阵:"<<endl;
int a[5][5],m,n;
for(m=0;m<5;m++)//输入数据
{
for(n=0;n<5;n++)
{
cin>>a[m][n];
}
}
int rightHe=0,leftHe=0,sum=0;//rightHe为对角线右下角元素之和,leftHe为对角线左下角元素之和
for(int i=0;i<5;i++)//输出数据
{
for(int j=0;j<5;j++)
{
if(i==j)
{
rightHe=rightHe+a<i>[j];
}
if(i+j==4&&i!=j)
{
leftHe=leftHe+a<i>[j];
}
}
}
sum=rightHe+leftHe;
cout<<leftHe<<","<<rightHe<<endl;
cout<<"对角线元素之和为"<<sum<<endl;
return 0;
}
运行效果:
扩展资料:#include的使用说明
>\#include叫做“文件包含”。它的功能是用来指定文件的全部内容替换程序中的命令行,从而使指定的文件与当前源文件连成一个源文件。
有如下两种形式:
1、#include"文件名"
2、#include<文件名>
文件包含这两种形式都可以使用,但是有以下几种区别:
使用尖括号:表示编译系统根据系统头文件存放的目录路径去搜索系统头文件,而不是在源文件目录去查找;
使用双引号:表示编译系统首先在当前的源文件目录中查找,若未找到才根据系统的头文件存放的目录路径去搜索系统头文件。
C语言如下:
#include
int main()
{
int a[100][100],x;/*初始化*/
int i,j,m,n,temp;
printf("输出魔方矩阵n=");
scanf("%d",&x);
while(x)
{
if(!(x%2))
{printf("你输入了偶数,很遗憾本程序将退出");
return 0;
}
else
{
for(i=0;i<x;i++)
for(j=0;j<x;j++)
a[i][j]=0;
i=0;
j=x/2;
a[i][j]=1;/*第一行中间填1*/
for(temp=2;temp<=x*x;temp++)/*循环24次,填剩余的24个数*/
{
m=i;
n=j;
i--;
j++;
if(i<0)
i=x-1;
if(j>x-1)
j=0;
if(a[i][j]!=0)
{i=m+1;
j=n;
}
a[i][j]=temp;
}
for(i=0;i<x;i++)
{
for(j=0;j<x;j++)
printf("%4d",a[i][j]);
printf("
");
}
}
printf("输出魔方矩阵n=");
scanf("%d",&x);
}
return 0;
}
本程序只适合基数,解释如下:
N 为奇数时
(1) 将1放在第一行中间一列; (2) 从2开始直到n×n止各数依次按下列规则存放: 按 45°方向行走,如向右上 每一个数存放的行比前一个数的行数减1,列数加1 (3) 如果行列范围超出矩阵范围,则回绕。 例如1在第1行,则2应放在最下一行,列数同样加1; (4) 如果按上面规则确定的位置上已有数,或上一个数是第1行第n列时, 则把下一个数放在上一个数的下面。
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
#include<stdio.h>
#defineM100
intmain()
{
inta[M][M],i,j,msum=0,ssum=0;
intN;
printf("inputN:");
scanf("%d",&N);
printf("请输入%d*%d的矩阵:\n",N,N);
for(i=0;i<N;++i)
{
for(j=0;j<N;++j)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<N;++i)
{
msum+=a[i][i];
ssum+=a[i][N-1-i];
}
printf("主对角线的和是:%d\n斜对角线的和是:%d\n\n",msum,ssum);
return0;
}
举例:
N:4输出运行结果:
扩展资料:
return的用法:
return的作用是结束正在运行的函数,并返回函数值。return后面可以跟一个常量,变量,或是表达式。
函数的定义一般是这样的,例如:
inta(inti)//第一个int是函数的返回值的类型,也就是return后面跟的值的类型,a是函数的名称,括号里的是传递给函数的参数,int是参数的类型,i是参数的名字
{
...//省略函数体内容
returnb;//b必须与函数头的返回值一致(此处为int型)
}
简单函数举例:
intaddOne(intb)
{
returnb+1;
}
该函数的作用是取得一个数,将这个数加上1,再将结果返回
调用时这样:
intresult=addOne(2);//此时result的值为3
函数括号里的参数也可以为变量或能算出值的表达式
以上就是一个基本的函数,一般的函数都有返回值,也就是return后面跟的值,返回值可以为各种数据类型,如:int,float,double,char,a[](数组),*a(指针),结构或类(c++)
但不是所有函数都有返回值,如果某个函数无返回值,那么返回值的位置则为“void”关键字,此时函数体中无返回值,即无return的值。但是函数中也可出现return,即一个空的return句子,其作用是使函数立即结束,如voidprint()//括号中为空表示无传递参数、
{
printf("a");
printf("b");
return;//函数执行到此处结束
printf("c");
}//该函数只执行到return语句处,即屏幕上输出的为"ab"
#include "stdio.h"
int main()
{
int a[5][5]={0};
int sum[5]={0};
int i,j;
printf("请输入5X5矩阵元素:
");
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
scanf("%d",&a[i][j]);
sum[j]+=a[i][j];
}
printf("矩阵各理上的元素之和:
");
for(i=0;i<5;i++)
printf("第%d列:%d
",i+1,sum[i]);
}
试试这样:
#include "stdio.h"
#define N 5
main()
{
int a[N][N],i,j,x,y;
x=0;
y=0;
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++)
printf("%10d",a[i][j]);
printf("\n");
}
for(i=0;i<N;i++)
x=x+a[i][i];
printf("左对角线的和x是%d",x);
for(i=4;i>=0;i--)
y=y+a[4-i][i];
printf("\n右对角线的和y是%d\n",y);
for(i=0;i<N;i++)
{
x=0;
for(j=0;j<N;j++)
x=x+a[j][i];
printf("第%d列上的元素的和为%d\n",i+1,x);
}
}
求C语言编程,有5×5阶矩阵A,B,求A-B
for(j = 0;j < 5;j++) scanf("%d", &a[i][j]); \/\/ 给矩阵B赋值 for(i = 0;i < 5;i++) for(j = 0;j < 5;j++) scanf("%d", &b[i][j]); \/\/ 执行A-B for(i = 0;i < 5;i++) for(j = 0;j < 5;...
C语言5×5的矩阵乘法
include<stdio.h> void main(){ int a[5][5],b[5][5];printf("输入a矩阵的元素:\\n");int i,j,k;for(i=0;i<=4;i++)for(j=0;j<=4;j++)scanf("%d",*(a+i)+j);printf("输入b矩阵的元素:\\n");for(i=0;i<=4;i++)for(j=0;j<=4;j++)scanf("%d",*(b+i)+...
五阶单位矩阵怎么写
五阶单位矩阵可以表示为一个5x5的矩阵,其中对角线上的元素都是1,其余元素都是0。具体而言,第一行第一列的值为1,第二行第二列的值为1,以此类推,直到第五行第五列的值为1。这个矩阵在数学中经常用作标准矩阵乘法中的单位元,它与任何矩阵相乘都会得到原始矩阵本身,因此被称为单位矩阵。在...
求解5×5阶矩阵的本征值
a = 1.0000 0.3333 0.3333 0.2000 0.1429 3.0000 1.0000 1.0000 0.3333 0.2000 3.0000 1.0000 1.0000 0.3333 0.2000 5.0000 3.0000 3.0000 1.0000 0.3333 7.0000 5.0000 5.0000 3.0000 1.0000 ?eig(a)ans = 5.1269 0.0015 + 0.8068i 0.0015 - 0.8068i -0....
5阶矩阵分块怎么计算
5x5矩阵用分块形式求 解题思路:将两个乘数的末位对齐(小数先转整数),在分别用第二个乘数所有的位数从个位起依次乘第一个乘数的所有结果相加(结果小数点向左移动相应的位数)解题过程:步骤一:5×5=25 步骤二:将以上步骤计算结果累加为25 ...
数域p上全体5×5阶矩阵作成的线性空间p5×5 的维数是?
维数是25 事实上5x5阶矩阵,只有1个元素为1,其余为0,这样的矩阵,构成线性空间的一组基。
Stata软件能处理矩阵吗?怎么生成一个5*5的单位矩阵?谢谢!
matrix myid = I(5)matrix list myid 把这两行命令分别复制到COMMAND 就生成5阶单位矩阵啦
c语言编程。两个5*5矩阵相乘
void out(int x[MAX][MAX],int n)\/\/输入矩阵 { int i,j;for(i=0;i<n;i++){ for(j=0;j<n;j++)printf("%d ",x[i][j]);puts("");} } void read(int x[MAX][MAX],int n){ int i,j;for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%d",&x[i][j]);} int ...
这道五阶矩阵的行列式怎么求?
如图,第一步通过第一行倍加到其他行,第二步第二行倍加到3、5行,第三步用拉普拉斯展开
java程序问题?求解!! 下面是一个 5*5 的螺旋方阵(顺时针方向旋转)编程...
写了一个小时,居然没分啊!!!算了给你了 import java.util.Scanner;public class Helix { \/ 螺旋输出 \/ public static void main(String[] args) { int size=5;Scanner sc=new Scanner(System.in);System.out.println("输入数组大小:");size=sc.nextInt();int count=0;int [][]array=...
休汪丹七: Dim a(4, 4) For i = 0 To 4 For j = 0 To 4 a(i, j) = j Sum = Sum + a(i, j) Next j Print Sum; Sum = 0 Next i
山丹县18617029625: Vb编程:输入5*5矩阵,求出每列元素之和,并把最大值的那一列上的个元素和第一列上个元素进行对调.救急! - ?
休汪丹七: Private Sub Command1_Click() Dim a(5, 5) As Integer Dim b(5) As Integer Dim i As Integer, j As Integer Dim tMax As Long, tt As Long Dim maxColNum As Long tMax = 0 tt = 0 maxColNum = 0 For i = 0 To 4 For j = 0 To 4 a(j, i) = Val(InputBox("...
山丹县18617029625: 用户输入一个5乘5的矩阵,用编程写出每行之和的最大值,每列之和最大 - ?
休汪丹七: func mergeSort(r []int) []int { length := len(r)if lengthreturn r}num := length / 2 left := mergeSort(r[:num])right := mergeSort(r[num:])return merge(left, right) } func merge(left, right []int) (result []int) {l, r := 0, 0for lif left[l]result = append(result, left[l])...
山丹县18617029625: 用C语言编写程序,把5*5矩阵每列的最大值放在一维数组中,并且输出结果 - ?
休汪丹七: 设定一个很小值,用来一列一列的数据比较,(注意比较一列后要初始化).求得最大值放在新的数组中.
山丹县18617029625: 输入5X5阶的矩阵,编程实现: (1)求两条对角线上的各元素之和. (2)求两条对角线上行、列下标均为偶数 - ?
休汪丹七: #include"stdafx.h" #include<iostream> using namespace std; int main(int argc,char*argv[]) { cout<<"请输入一个5*5的矩阵:"<<endl; int a[5][5],m,n; for(m=0;m<5;m++)//输入数据 { for(n=0;n<5;n++) { cin>>a[m][n]; } } int rightHe=0,leftHe=0,...
山丹县18617029625: 编程题:将5*5矩阵,使用主函数调用三个函数(1)输入数据(2)计算每一行的和并放到一维数组中(3)将和从高到低排序,在主函数中输出排序后的结果 - ?
休汪丹七: #include <stdio.h> int a[5][5];int b[5];void input(){ int i,j; for (i=0;i<5;i++) { for (j=0;j<5;j++) { scanf("%d",&a[i][j]); } }} void sum(){ int s,i,j; for (i=0;i<5;i++) { s=0; for (j=0;j<5;j++) { s=s+a[i][j]; } b[i]=s; }} void _sort(){ int i,j,t; for (i=0;i<5;i++) { for (j=i;j<4;j++) { if ...
山丹县18617029625: 输入5*5的矩阵,编程实现分别求两对角线上的各元素之和 - ?
休汪丹七: 我是 用一个.m文件来实现的, 第一,建立一个m文件,并把以下代码拷贝过去,然后保存名为juzhen.m的文件 function juzhen() a=input('请输入一个矩阵:') %%%用键盘输入一个方阵,随便一个方阵,几阶的都可以,但是要注意矩阵的“行...
山丹县18617029625: C语言编程求出下面5*5矩阵的所有排列,用数字1 - 5填满矩阵,每一行每一列不重复,最好能打印出来,急急急 - ?
休汪丹七: #include main() {int i,j;int a[5][5];for(i=0;i<5;i++){for(j=0;j<5;j++)printf("%d",a[i][j]);printf("\n"); }}
山丹县18617029625: 2. 输入5乘5矩阵,求出每列之和并把和值最大的那一列上的各元素和第一列上各元素进行对调 - ?
休汪丹七: a=round(10*rand(5,5)) i=find(max(sum(a))==sum(a)); b=a(:,[i,2:i-1,1,i+1:end])
山丹县18617029625: 急急急!!!!!c语言.输入一个5*5矩阵(#define N 5),求以下各值并输出?
休汪丹七: #include <iostream> using namespace std; #define N 5 int main() { int x[N][N],i,j,sum=0,a=0,b=0,c; for (i=0;i<N;++i) for (j=0;j<N;++j) { scanf("%d",&x[i][j]); sum+=x[i][j]; if (i==j||i==N-j-1) a+=x[i][j]; if (i==0||i==N-1||j==0||j==N-1) b+=x[i][j]; c=...