机智如我么么哒 发表于 2019-9-23 17:45:17

为什么我的代码只能运行一行

#include<stdio.h>
int main()
{
        int M,P,N,i,j,k;
        int str1,str2,str3;
        printf("请输入第一个矩阵的尺寸(M*P):");
        scanf("%d*%d",&M,&P);
        printf("\n");
        printf("请输入另一个矩阵的尺寸(P*N):");
        scanf("%d*%d",&P,&N);
        printf("请输入第一个矩阵的值:\n");
        for(i=0;i<M;i++)
        {
                for(j=0;j<P;j++)
                scanf("%d",&str1);
        }
        printf("请输入第二个矩阵的值:\n");
        for(i=0;i<P;i++)
        {
                for(j=0;j<N;j++)
                scanf("%d",&str2);
        }
        printf("计算结果如下:\n");
        for(i=0;i<M;i++)
        {
                printf("\n");
                printf("|");//在每一行开头加上|
                for(j=0;j<P;j++)
                {
                printf("%d ",str1);
                if(j==P-1)printf("|");        //在每一行的结尾加上|
                if(i==M/2)printf("*");//在两个矩阵中间加上*
                }
                for(i=0;i<P;i++)
                {
                        printf("|");
                        for(j=0;j<N;j++)
                        {
                               
                                printf("%d ",str2);
                                if(j==N-1)printf("|");
                                if(i==P/2)printf("=");
                        }
                        for(i=0;i<M;i++)
                        {
                                for(j=0;j<N;j++)
                                {
                                for(k=0;k<P;k++)
                                str3+=str1*str2;
                        }
                        }
                        for(i=0;i<P;i++)
                        {
                                printf("|");
                                for(j=0;j<N;j++)
                                {
                                        printf("%d ",str3);
                                        if(j==N-1)printf("|");
                                }
                                return 0;
                        }
                       
                       
                       
                }
               
        }
}



输出结果为|1 2 3 4 5| |8 7 6 5 4 3 2 1| |33 33 33 33 33 33 33 33|
有大佬求解一下吗?

西瓜小刚 发表于 2019-9-23 19:32:35

你这啥子鬼,你输入的是什么?
最后 咋 不加 return 0;
P键入两次 默认选择的值是最后一次的键入值
页: [1]
查看完整版本: 为什么我的代码只能运行一行