写C语言码令A,B,C为三个m×n矩阵,使得C = A + B。 写一个函数mattAdd它通过指针计算给定A和B的和矩阵C. C语言编程,已知三角形的三边长a,b,c,计算求三角形面积的...

   www.gaoxiao88.net
/*
    矩阵元素间用空格隔开,可以不换行,但是元素个数别错了
    M,N表示行列值,自己修改
    读取存储文件默认在工程文件夹
*/
#include<stdio.h>
#define M 3//矩阵行
#define N 4//矩阵列

int main()
{
    void printFiles(float a[M][N]);
    float *mattAdd(float a[][N],float b[][N],float c[][N]);
    float A[M][N];//矩阵为float
    float B[M][N];
    float C[M][N];
    float *p;//指针读入和接收
    int i,j;
    FILE *fp;
    fp = fopen("inputmatA.txt", "r");
    if(fp == NULL)return -1;
    p=&A[0][0];
    while(fscanf(fp, "%f", p) != EOF)
        p++;
    fclose(fp);//读完A
    fp = fopen("inputmatB.txt", "r");
    if(fp == NULL)return -1;
    p=&B[0][0];
    while(fscanf(fp, "%f", p) != EOF)
        p++;
    fclose(fp);//读完B
    printf("A数组:
");
    printFiles(A);
    printf("B数组:
");
    printFiles(B);
    printf("C数组:
");
    p=mattAdd(A,B,C);
    printFiles(C);
    fp = fopen("outputmat.txt", "w+");
    for(i=0;i<M;i++)
    {
        for(j=0;j<N;j++)
        {
            fprintf(fp,"%.0f",*p);//存储
            p++;
        }
        fprintf(fp,"
");
    }
    fclose(fp);
}

void printFiles(float a[M][N])//打印
{
    int i,j;
    for(i=0;i<M;i++)
    {
        for(j=0;j<N;j++)
            printf("%.0f",a[i][j]);//默认只打印整数
        printf("
");
    }
}

float *mattAdd(float a[M][N],float b[M][N],float c[M][N])
{
    int i,j;
    float *p;
    for(i=0;i<M;i++)
        for(j=0;j<N;j++)
        c[i][j]=a[i][j]+b[i][j];
    p=&c[0][0];
    return p;//返回指针
}


我能写这个程序,你写好了吗,还需要不

c语言,在主函数中输入3×3的矩阵ab和c,编写三个函数分别计算c=a+b,c=a-b,c=a*b

#include int main(void){ void output(int num[][3]); int i, j; int a[3][3], b[3][3], c[3][3]; puts("请输入矩阵a : "); for (i = 0; i < 3; ++i) { for (j = 0; j < 3; ++j) scanf("%d", a[i] + j); } puts("请输入矩阵b : "); for (i = 0; i < 3; ++i) { for (j = 0; j < 3; ++j) scanf("%d", b[i] + j); } puts("a+b : "); for (i = 0; i < 3; ++i) { for (j = 0; j < 3; ++j) c[i][j] = a[i][j] + b[i][j]; } output(c); puts("a-b : "); for (i = 0; i < 3; ++i) { for (j = 0; j < 3; ++j) c[i][j] = a[i][j] - b[i][j]; } output(c); puts("a*b : "); for (i = 0; i < 3; ++i) { for (j = 0; j < 3; ++j) c[i][j] = a[i][j] * b[i][j]; } output(c); return 0;}void output(int num[][3]){ int i, j; for (i = 0; i < 3; ++i) { for (j = 0; j < 3; ++j) printf("%-5d", num[i][j]); putchar('
'); }}

程序代码如下:
#include
#include
int main()
{
printf("输入三个边长:
");
float a,b,c;
float s,area;
scanf("%f%f%f",&a,&b,&c);
s = (a+b+c)/2;
area = sqrt(s*(s-a)*(s-b)*(s-c));
if(a+b>c && b+c>a && a+c>b)
printf("面积是%.2f
",area);
else
printf("三条边无法构成三角形");
return 0;
}


扩展资料:
三角形具有以下性质:
1、三角形任意两边之和大于第三边,任意两边之差小于第三边。
2、在平面上三角形的内角和等于180°(内角和定理)。
3、在平面上三角形的外角和等于360° (外角和定理)。
4、三角形的三条角平分线交于一点,三条高线的所在直线交于一点,三条中线交于一点。
5、三角形的任意一条中线将这个三角形分为两个面积相等的三角形。
参考资料:百度百科-三角形面积公式
百度百科-三角形性质

相关参考:

设A为m×n矩阵,C为n阶可逆矩阵,B=AC,问秩(A)和秩(B)的关系
设A为m×n矩阵,C为n阶可逆矩阵,B=AC,秩(A)=秩(B)。∵C是n阶可逆矩阵 ∴C可以表示成若干个初等矩阵之积,即 C=P1P2…Ps,其中Pi(i=1,2,…,s)均为初等矩阵。而:B=AC,∴B=AP1P2…Ps,即B是A经过s次初等列变换后得到的,又初等变换不改变矩阵的秩。∴r(B)=r(AC)=r...

设A为m×n矩阵,且r(A)=m<n,则下列结论正确的是( )A.A的任意m阶子式都...
因为r(A)=m<n,且A与.A都是m行,所以r(A)=r(.A)=m<n.利用非齐次线性方程组解的判定定理可得,所以方程组AX=b一定有无数个解,故选项C正确.选取适当的反例,可以说明选项A、B、D均错误.取A=100001,则r(A)=2<3.由于存在A的一个子式.1001.=0,故选项A不成立.由于A的第...

在二维数组a中选出各行最大的元素组成一个一维数组b.
printf("%5d",a[i][j]);printf

一道C语言题目 有3个整数a,b,c,由键盘输入,输出其中最大的数,请编写...
你要输入整数,所以要定义a,b,c为整数,而不是float,输入输出不能用%f,应用%d,还有t未使用而使用了未定义的max故应把t改为max;所以是 int main (void){ int a,b,c,max;printf("请输入三个任意整数:\\n");scanf("%d%d%d",&a, &b, &c);if(a>=b) max=a;else max=b;if(b...

...n1,n2为非齐次线性方程组Ax=b的两个不同解,c为对应的齐次AX=0的...
故An1=b,An2=b.且n1不=n2.则An1-An2=A(n1-n2)=0 即n1-n2也是齐次AX=0的一个非零解.又因为c为对应的齐次AX=0的一个非零解,故Ac=0.由于r(A)=n-1,故齐次AX=0的基础解系中只有n-(n-1)=1个非零向量,不妨设为d.则n1-n2=k1*d,c=k2*d.且k1,k2均不等于0.所以有k2*n2-...

C语言三个数比较大小。。各种方法归类
除了楼主的方法之外。还有以下的方法:include<stdio.h> void main(){ int a,b,c,m,n,k;printf("请输入三个数:\\n");scanf("%d%d%d",&a,&b,&c);m=a>b?a:b;m=m>c?m:c;printf("最大的数是%d\\n",m);} include<stdio.h> void main(){ int a,b,c;printf("输入三个数:...

设A为m×n矩阵,B为n×p矩阵,则矩阵方程AX=B有解的充分必要条件是...
由题意,设A=[α1,α2,…,αn],X=[x1,x2,…,xn],B=[β1,β2,…,βp]则矩阵方程AX=B有解?Axj=βj有解(j=1,2,…,p)?r[α1,α2,…,αn]=r[α1,α2,…,αn,βj](j=1,2,…,p)?r[α1,α2,…,αn]=r[α1,α2,…,αn,β1,...

C语言 A是一个3*4矩阵 B是一个4*5矩阵 编程求A*B得到新的矩阵C.并输出...
j++)scanf("%d",&a[i][j]);for(i=0;i<4;i++)for(j=0;j<5;j++)scanf("%d",&b[i][j]);for(i=0;i<3;i++){ for(j=0;j<5;j++){ c[i][j]=0;for(k=0;k<4;k++)c[i][j]+=a[i][k]*b[k][j];printf("%d",c[i][j]);} printf("\\n");} } ...

什么是矩阵?
若给出一矩阵 A 及一数字 c,可定义标量积 cA,其中 (cA)[i, j] = cA[i, j]。 例如 这两种运算令 M(m, n, R) 成为一实数线性空间,维数是mn.若一矩阵的列数与另一矩阵的行数相等,则可定义这两个矩阵的乘积。如 A 是 m×n 矩阵和 B 是 n×p矩阵,它们是乘积 AB 是一个 ...

编写一个c语言,输入a,b,c 3个值输出其中最大着
4 输出最大值。代码:include <stdio.h>int main(){ int a,b,c,m; scanf("%d%d%d",&a,&b,&c);\/\/输入三个数 if(a>b)m=a;\/\/获得ab中较大值。 else m = b; if(m<c)m=c;\/\/获取最大值。 printf("%d\\n", m);\/\/输出最大值。 return 0;} ...

相关评论

  • 佴殃4662: C语言中a(b,c), 表示的是什么? -
    18975773832: 调用函数a,b、c为参数

  • 佴殃4662: 编程写C语言时,如果要输入多个数值,如a,b,c,要怎么写输入语句? -
    18975773832: 以a,b,c都是整形为例,代码如下: #include <stdio.h> int main() { int a,b,c; scanf("%d%d%d",&a,&b,&c); }

  • 佴殃4662: 用C语言写代码,输入三个整数 a,b,c,输出b^2 - 4ac的值,谢谢! -
    18975773832: #include <stdio.hL int main(void) { int a, b, c; scanf("%d%d%d", a, b, c); printf("%f", b*b-4.0*a*c); return 0; }

  • 相关话题

    ap在线精英在线最新简短笑话,好笑的段子,搞笑句子,男女朋友校园冷笑话,搞笑歌词对白台词,夫妻搞笑对话,手机流行笑话,逗人笑的动物经典笑话,最新幽默搞笑图文,好笑的视频分享给朋友
    若有事情,请联系电邮
    © <搞笑吧