求解C语言编程题!!!!急,明天考试了= =

创新题利用“素材”中的函数构建一个完整的系统,系统主题自拟,系统至少包含3个功能。素材:voidwelcome(){printf("\n\t\t\t***********... 创新题
利用“素材”中的函数构建一个完整的系统,系统主题自拟,系统至少包含3个功能。
素材:

void welcome()
{ printf("\n\t\t\t*****************************\n");
printf("\t\t\t* *\n");
printf("\t\t\t* 欢迎使用矩阵计算系统 *\n");
printf("\t\t\t* *\n");
printf("\t\t\t*****************************\n");
}
void mainmenu()
{
printf("\n\n\n");
printf("\t\t\t*******************************\n");
printf("\t\t\t* 1.----输入 *\n");
printf("\t\t\t* 2.----转置 *\n");
printf("\t\t\t* 3.----求外围元素和 *\n");
printf("\t\t\t* 4.----退出系统 *\n");
printf("\t\t\t*******************************\n");

}
void f1()
{
printf("功能1\n");
}
void f2()
{
printf("功能2\n");
}
void f3()
{
printf("功能3\n");
}
void sele()
{
int k;
while(1)
{system("cls");welcome();getch();system("cls");
mainmenu();
scanf("%d",&k);
while((k>4||k<1))
{system("cls");mainmenu();scanf("%d",&k);}
switch(k)
{case 1:
f1();
break;
case 2:
f2();
break;
case 3:
f3();break;
case 4:printf("谢谢使用,再见\n");exit(0);
}}
}

void input(int a[][10],int n,int m)/*矩阵输入*/
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
}
void output(int a[][10],int n,int m)/*矩阵输出*/
{
int i,j;
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}
void transpose(int a[][10],int n)/*矩阵转置*/
{
int i,j,temp;
for(i=0;i<n;i++)
for(j=0;j<i;j++)
{temp=a[i][j];a[i][j]=a[j][i];a[j][i]=temp;}
}
sum(int a[][10],int n,int m)/*求外围元素之和*/
{int i,j,sum=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if(i==0 || i==n-1 || j==0 || j==m-1)
sum=sum+a[i][j];
return sum;
}
void jzc(int a[][3],int b[][2],int c[][2])/*两矩阵相乘*/
{int i,j,k;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
{ c[i][j]=0;
for(k=0;k<3;k++)
c[i][j]=c[i][j]+a[i][k]*b[k][j];
}
}
展开
 我来答
泥滩摸小鱼
2010-06-14
知道答主
回答量:7
采纳率:0%
帮助的人:6万
展开全部

#include <stdio.h>

#include <conio.h>

#include <mem.h>

//方便输入,行N定为3,列M也定为三

#define N 3

#define M 3

//申明二维数组

static int a[10][10];

//申明函数

void sele();

void input(int a[][10],int n,int m);

void output(int a[][10],int n,int m);

void transpose(int a[][10],int n);

//主函数

int main()

{

    //把数组初始化一下

    memset(a,0,sizeof(a));

    //进入选择菜单

    sele();

    return 0;

}

void welcome()

{   printf("\n\t\t\t*****************************\n");

    printf("\t\t\t*                           *\n");

    printf("\t\t\t*  欢迎使用矩阵计算系统     *\n");

    printf("\t\t\t*                           *\n");

    printf("\t\t\t*****************************\n");

}

void mainmenu()

{

  printf("\n\n\n");

  printf("\t\t\t*******************************\n");

  printf("\t\t\t*   1.----输入                *\n");

  printf("\t\t\t*   2.----转置                *\n");

  printf("\t\t\t*   3.----求外围元素和        *\n");

  printf("\t\t\t*   4.----退出系统            *\n");

  printf("\t\t\t*******************************\n");

}

void f1()

{

 printf("功能1\n");

 printf("输入矩阵\n");

 input(a,N,M);

 printf("您输入的矩阵:\n");

 output(a,N,M);

 getch();

}

void f2()

{

   printf("功能2\n");

   printf("转置\n");

   transpose(a,N);

   printf("转置后的矩阵:\n");

   output(a,N,M);

   getch();

}

void f3()

{

   printf("功能3\n");

   printf("求外围元素和\n");

   printf("外围元素和=%d\n",sum(a,N,M));

   getch();

}

void sele()

{

 int k=0;

 while(1)

 {

     system("cls");

     welcome();

     //getch();

     //system("cls");

     mainmenu();

 scanf("%d",&k);

 while((k>4||k<1))

     {system("cls");mainmenu();scanf("%d",&k);}

 switch(k)

    {case 1:

    f1();

     break;

 case 2:

    f2();

 break;

 case 3:

    f3();break;

 case 4:printf("谢谢使用,再见\n");exit(0);

    }}

}

void input(int a[][10],int n,int m)/*矩阵输入*/

{

 int i,j;

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

  for(j=0;j<m;j++)

   scanf("%d",&a[i][j]);

}

void output(int a[][10],int n,int m)/*矩阵输出*/

{

 int i,j;

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

 {for(j=0;j<m;j++)

   printf("%4d",a[i][j]);

  printf("\n");

    }

}

void transpose(int a[][10],int n)/*矩阵转置*/

{

 int i,j,temp;

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

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

  {temp=a[i][j];a[i][j]=a[j][i];a[j][i]=temp;}

}

sum(int a[][10],int n,int m)/*求外围元素之和*/

{int i,j,sum=0;

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

       for(j=0;j<m;j++)

          if(i==0 || i==n-1 || j==0 || j==m-1)

              sum=sum+a[i][j];

    return sum;

}

爱阳康F
2010-06-15 · TA获得超过588个赞
知道小有建树答主
回答量:308
采纳率:0%
帮助的人:118万
展开全部
就做一个关于99乘法表的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式