中易网

写一个C语言的程序:矩阵数值统计(急)

答案:3  悬赏:80  
解决时间 2021-04-21 22:55
如图所示!急求!



最佳答案
#include<stdio.h>
#define M 10

matrixSize(int *x,int *y);
entry(int a[][M],int x,int y);
count(int a[][M],int x,int y);

int main()
{
    int a[M][M];
    int x,y;
    matrixSize(&x,&y);
    entry(a,x,y);
    count(a,x,y);
    return 0;
}

matrixSize(int *x,int *y)
{
    int a,b;
    do
    {
        printf("输入矩阵行列数(x,y):");
        scanf("%d %d",&a,&b);
    }while(a<=0 || b<=0);
    *x=a;
    *y=b;
}

entry(int a[][M],int x,int y)
{
    int i,j;
    for(i=0;i<x;i++)
    {
        printf("请输入%d行的%d个数\n",i+1,y);
        for(j=0;j<y;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
}

count(int a[][M],int x,int y)
{
    int more=0,equal=0,less=0;
    int i,j;
    for(i=0;i<x;i++)
    {
        for(j=0;j<y;j++)
        {
            if(a[i][j]>0)
            {
                more++;
            }
            else if(a[i][j]==0)
            {
                equal++;
            }
            else
            {
                less++;
            }
        }
    }
    printf("\n输入统计:\n");
    printf("大于零:%d,等于零:%d,小于零:%d\n",more,equal,less);
}
全部回答
void count(int a[][M],int x,int y) { int i,j; int m=0,n=0,p=0; for(i=0;i<x;i++) { for(j=0;j<y;j++) { if(a[i][j]>0) m++; if(a[i][j]==0) n++; if(a[i][j]<0) p++; } } printf("%d,%d,%d\n",m,n,p); }
#include "stdio.h" #include "stdlib.h" void main () { int m,l,p,q; printf("输入第一个矩阵的维数m和l:\n"); scanf("%d%d",&m,&l); printf("输入第二个矩阵的维数p和q:\n"); scanf("%d%d",&p,&q); while (l!=p) { printf("两个矩阵不匹配,不能进行相乘运算,请重新输入...\n\n"); printf("输入第一个矩阵的维数m和l:\n"); scanf("%d%d",&m,&l); printf("输入第二个矩阵的维数p和q:\n"); scanf("%d%d",&p,&q); } double a[200][200]={0}, b[200][200]={0},sum=0; int i,j,k=0; for (i=0;i
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯