|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 失败且常态 于 2022-11-24 14:43 编辑
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #include <string.h>
- int *p=NULL,n,m;
- void jm()
- {
- printf("==============================\n");
- printf("* 欢迎使用该程序,指令如下 *\n");
- printf("* 1.生成一个m*n的矩阵 *\n");
- printf("* 2.初始化矩阵 *\n");
- printf("* 3.给矩阵中的某个元素赋值 *\n");
- printf("* 4.读取矩阵中的某个元素 *\n");
- printf("* 5.打印整个矩阵 *\n");
- printf("* 6.结束程序 *\n");
- printf("==============================\n");
- printf("\n");
- }
- void sc()
- {
- int i,j;
- char a;
- if(p==NULL)
- {
- printf("请输入新矩阵的规模(m*n):");
- scanf("%d*%d",&m,&n);
- p=(int *)realloc(p,m*n*sizeof(int));
- }
- else
- {
- printf("矩阵已存在,是否重新创建(y/n):");
- scanf("%c",&a);
- if(a=='y')
- {
- printf("\n请输入新矩阵的规模(m*n):");
- scanf("%d*%d",&m,&n);
- p=(int *)realloc(p,m*n*sizeof(int));
- }
- }
- printf("\n");
- }
- int main()
- {
- int k;
- jm();
- do
- {
- printf("请输入指令:");
- scanf("%d",&k);
- switch(k)
- {
- case 1:sc();break;
- case 2:;break;
- case 3:break;
- case 4:break;
- case 5:;break;
- }
- }while(k!=6);
- return 0;
- }
复制代码
- do
- {
- printf("请输入指令:");
- scanf("%d",&k);
- switch(k)
- {
- case 1:sc();break;
- case 2:;break;
- case 3:break;
- case 4:break;
- case 5:;break;
- }
- }while(k!=6);
复制代码
这是个循环啊,你只要不是输入的 6,就会一直看到主菜单啊,这是正常的啊。
- else
- {
- printf("矩阵已存在,是否重新创建(y/n):");
- scanf("%c",&a);
- if(a=='y')
- {
- printf("\n请输入新矩阵的规模(m*n):");
- scanf("%d*%d",&m,&n);
- p=(int *)realloc(p,m*n*sizeof(int));
- }
- }
复制代码
输入 'y' 又能输入了这也正常啊,并没有重新进入函数啊。
|
-
|