标题:一道C语言功能模块连接题,在线等,挺急的!
只看楼主
江南吖
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2018-5-28
结帖率:0
 问题点数:0 回复次数:1 
一道C语言功能模块连接题,在线等,挺急的!
程序代码:
#include<stdio.h>
#include<stdlib.h>
#define M  3 
#define N  4
int n;    
void transposition();
void range();

 double average(double array[M][N]);
void multiply();
void menu(void);

void main()

{
short int flag=0;
    system("color f0");
    menu();
    do
    {    flag=1;
        switch(getch())
        {    case '1' : transposition();break;    /*数组转置*/
            case '2' : range ();break;    /*数组排序 */
            case '3' : double average ();break;    /*数组平均*/
            case '4' : multiply ();break;        /*数组乘法 */
case '5' :exit(0);                /*退出程序*/

              default : printf("输入有误\n");
        }
        printf("按任意键继续\n");
        getch();
        menu();
    }while (flag==1);
}
void menu(void)
{
    system("cls");
    printf("\n");
    printf("*********欢迎进入数组运算系统**************\n");
    printf("                 菜单                       \n");
    printf("数组转置------------------------------------1\n");
    printf("数组排序------------------------------------2\n");
    printf("数组平均-------------------------------------3\n");
    printf("数组乘法-------------------------------------4\n");
    printf("退出系统-------------------------------------5\n"); 
void transposition(void)
{ 
    int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},b[4][3]; 
    int i,j; 
    printf("转置前矩阵:\n");
    for(i=0;i<3;i++) 
    {
        for(j=0;j<4;j++) 
        {
        printf("%5d",a[i][j]);     
        }
        printf("\n");
    }

for(i=0;i<4;i++) 
        for(j=0;j<3;j++) 
            b[j][i]=a[i][j];

printf("转置后矩阵:\n");
{for(i=0;i<3;i++) 
    for(j=0;j<4;j++) 
        b[j][i]=a[i][j]; 
    for(i=0;i<4;i++) 
    { 
        for(j=0;j<3;j++) 
        printf("%2d ",b[i][j]); 
        printf("\n"); 
    } 
}

    printf("**********************************************\n");
    printf("请输入您的选择\n");
    
}
void range(void)
{
    int i;
    float a[N],max,min;
    printf("请输入%d个数:\n",N);
    for(i=0;i<N;i++)
    {
    scanf("%f",&a[i]);
    }      //数据录入
    max=min=a[0];  //假设第一个元素是最大值也是最小值
    for(i=0;i<N;i++)
    {
    if(a[i]>max)
    max=a[i];
    else if(a[i]<min)
    min=a[i];
    }
    printf("最大值为:%5.0f\n",max);
    printf("最小值为:%5.0f\n",min);
}

double average(double array[M][N])
{
int i,j;

 printf("请输入二维数组:\n");

 for (i=0;i<3;i++)

 {
  for (j=0;j<4;j++)
  {
   scanf("%lf",&array[i][j]);
  }

 }

 printf("二维数组平均值为:%lf\n",average(array));


 double sum=0;

 for (i=0;i<3;i++)

 {
  for (j=0;j<4;j++)
  {
   sum+=array[i][j];
  }

 }

 return sum/(M*N);
}

void multiply(void)
{
    int i,j,k,a[M][M],b[M][M],c[M][M];   
    /*为需要相乘的两个矩阵赋值:*/ 
    printf("输入第一个矩阵:\n");
    for(i=0;i<M;i++)
    {
        for(j=0;j<M;j++)
        {
            scanf("%d",&a[i][j]); 
        } 
    } 
    printf("输入第二个矩阵:\n");
    for(i=0;i<M;i++)
    {
        for(j=0;j<M;j++)
        {
            scanf("%d",&b[i][j]); 
        } 
    }
    /*初始化c:*/
    for (i = 0; i < M; i++)          
        for (j = 0; j < M; j++)  
            c[i][j] = 0;  
     for (i = 0; i<M; i++)               
        for (j = 0; j < M; j++)  
        {  
            c[i][j] = 0;  
            for (k = 0; k < M; k++)  
                c[i][j] += a[i][k] * b[k][j];  
        }  
    for (i = 0; i < M; i++)     
        for (j = 0; j < M; j++)  
            printf("%5d", c[i][j]);
    printf("\n");           

 
}  


}


C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(20) : error C2065: 'getch' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(46) : error C2601: 'transposition' : local function definitions are illegal
C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(80) : error C2601: 'range' : local function definitions are illegal
C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(101) : error C2601: 'average' : local function definitions are illegal
C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(125) : error C2601: 'multiply' : local function definitions are illegal
这是错误



[此贴子已经被作者于2018-5-31 17:12编辑过]

搜索更多相关主题的帖子: void 数组 printf for i++ 
2018-05-30 20:31
江南吖
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2018-5-28
得分:0 
回复 楼主 江南吖
C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(20) : error C2065: 'getch' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(46) : error C2601: 'transposition' : local function definitions are illegal
C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(80) : error C2601: 'range' : local function definitions are illegal
C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(101) : error C2601: 'average' : local function definitions are illegal
C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(125) : error C2601: 'multiply' : local function definitions are illegal

以上错误怎么改,花括号没少啊
2018-05-31 17:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-487456-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.230691 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved