#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void a()
{
int a;
printf("\t** 查看for语句 **\n");
printf("\t** 1:查看 **\n");
printf("\t** 0:退出 **\n");
printf("\t****************************\n");
scanf("%d",&a);
printf("\n");
switch(a)
{
case 1:
{
printf("开始\n");
//getch();
system("color 1");
printf(" * \n");
printf(" *** \n ");
printf(" *****\n");
printf(" ******* \n");
printf(" **********\n");
printf(" ***************************\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
}break;
case 0:printf("已返回主页面\n");break;
default:
printf("输入错误,请重新输入\n");
break;
}
}
int b()
{
int b;
printf("*********************************");
printf("\t** 观看数组类型图像 **\n");
printf("\t** 1:观看 **\n");
printf("\t** 2:退出 **\n");
printf("\t*****************************\n");
scanf("%d",&b);
printf("\n");
switch(b)
{
case 1:
{ int a[10][10];
int x,y;
for(x=0;x<=9;x++)
{
for(y=0;y<=9;y++)
{
a[x][0]=x+1;
a[x][y+1]=2*a[x][y];
}
}
printf("输出10行10列的值:\n");
for(x=0;x<=9;x++)
{
for(y=0;y<=9;y++)
printf("%5d",a[x][y]);
printf("\n");
}
} break;
case 2:printf("已回到主页面\n");break;
default:
printf("输入错误,返回主界面请重新输入\n");
break;
}
}
int c()
{
int c;
printf("\t** 函数类型图像 **\n");
printf("\t** 1:阶乘 **\n");
printf("\t** 2:最大值 **\n");
printf("\t** 3:返回 **\n");
printf("\t****************************\n");
scanf("%d",&c);
printf("\n");
switch(c)
{
case 1://阶乘
{
{
int fac(int x);
int x,y;
printf("输入阶乘的数:");
scanf("%d",&x);
y=fac(x);
printf("%d!=%d\n",x,y);
return 0;
}
int fac(int x);
{
int a,x;
if(x<0)
printf("x<0,data error!");
else if(x==0,x==1)
a=1;
else
a=fac(x-1)*x;
return(a);
}break;
}
case 2://最大值
{
{
int max4(int a,int b,int c,int d);
int a,b,c,d,max;
printf("请输入4个数:");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
max=max4(a,b,c,d);
printf("最大值是:%d\n",max);
return 0;
}
int max4(int a,int b,int c,int d)
{
int max2(int a,int b);
int n;
n=max2(a,b);
n=max2(n,c);
n=max2(n,d);
return n;
}
int max2(int a,int b)
{
if(a>=b)
return a;
else
return b;
}break;
}
case 3:printf("已返回主页面\n");break;
default:
printf("输入错误,返回主界面请重新输入\n");
break;
}
}
void d()
{
int d;
printf("\t************************\n");
printf("\t**请选择九九乘法表类型**\n");
printf("\t********1:左上*********\n");
printf("\t***** 2:左下 ******\n");
printf("\t*** 3:右上 ****\n");
printf("\t*** 4:右下 ****\n");
printf("\t***** 5:奇数 ******\n");
printf("\t********6:返回*********\n");
printf("\t************************\n");
scanf("%d",&d);
printf("\n");
switch(d)
{
case 1://九九乘法表左上
{
int x, y;
for(x=9;x>0;x--)
{
for(y=1;y<=x;y++)
printf("%d*%d=%2d\t",x,y,x*y);
printf("\n");
}
};break;
case 2:////九九乘法表左下
{
int x,y;
for(x=1;x<=9;x++)
{
for(y=1;y<=x;y++)
printf("%d*%d=%2d\t",x,y,x*y);
printf("\n");
}
};break;
case 3://九九乘法表右上
{
int x, y;
for(x=1;x<=9;x++)
{
for(y=1;y<=9;y++)
{
if(y<x)
printf("\t");
else
printf("%d*%d=%2d\t",x,y,x*y);
}
printf("\n");
}
};break;
case 4://九九乘法表右下
{
int x,y,n;
for(x=1;x<=9;x++)
{
for(n=1;n<=9-x;n++)
printf("\t");
{
for(y=1;y<=x;y++)
printf("%d*%d=%2d\t",x,y,x*y);
printf("\n");
}
}
};break;
case 5://九九乘法表奇数
{
int x,y,n;
for(x=1;x<=9;x++)
{
for(n=1;n<=9-x;n++)
printf("\t");
{
for(y=1;y<=x;y++)
if(x%2!=0)
printf("%d*%d=%2d\t",x,y,x*y);
printf("\n");
}
}
};break;
case 6:printf("已返回主页面\n");break;
default:
printf("输入错误,返回主界面重新输入\n");
break;
}
}
void e()
{
int e;
printf("1:输入一个数,判断是正数、负数还是零。\n");
printf("2:输入一个小于10000的正整数,将其每个位数输出,并且逆序输出。\n");
printf("3:输入4个数字,让其从小到大排序。\n");
printf("4:求三位数的水仙花数。\n");
printf("5:用c语言求下列分数序列的前20项之和\n");
printf("6:一个球从100m高度自由落下,每次落地后反弹回原来高度的一半,再落下.求它在第10次落地并反弹到最高点,共经过多少m?第10次反弹多高?\n");
printf("7:输出杨辉三角。\n");
printf("8:利用折半查找法找数。");
printf("9:输入3行字符串,找出其中的大写字母、小写字母、数字,空格以及其他字符的个数。\n");
printf("10:输入一段文字,找出其中的大写字母、小写字母、数字,空格以及其他字符的个数。\n");
printf("11:写程序完成下面条件:1)输入10个职工的姓名和职工号;2)按职工号由小到大的顺序排序;3)要求输入一个职工号,用折半法查找出该职工的姓名,从主函数输入要查找的职工号,输出该职工的姓名\n");
printf("12:给一段数,给每个数之间插入空格\n");
printf("13:输入3个数字,从小到大排列。\n");
printf("14:编写C语言程序,输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。\n");
printf("15:输入一行文字,找出其中的大写字母、小写字母、数字,空格以及其他字符的个数。\n");
printf("16:输入5个学生的学号、姓名、分数1、分数2以及分数3并输出。\n");
scanf("%d",&d);
printf("\n");
switch(e)
{
case 1:
{
int x;
printf("请输入x的值:");
scanf("%d",&x);
if(x<0)
printf("Y=-1\n");
else
if(x=0)
printf("Y=0\n");
else
printf("Y=1\n");
}break;
case 2:
break;
case 3:
break;
case 4:
break;
default:
printf("输入错误,返回主界面重新输入\n");
break;
}
}
void f()
{
int f;
printf("\t**是否确认观看函数类型图像**\n");
printf("\t** 1:用号输出字母C的图案。 **\n");
printf("\t** 2:求最大值 **\n");
printf("\t** 3:返回 **\n");
printf("\t****************************\n");
scanf("%d",&c);
printf("\n");
switch(f)
{
case 1:
{
printf("Hello C-world!\n");
printf(" ****\n");
printf(" *\n");
printf(" * \n");
printf(" ****\n");
}
break;
case 2:system("F:\\求最大值.exe\n");break;
case 3:printf("已返回主页面\n");break;
default:
printf("输入错误,返回主界面请重新输入\n");break;
}
}
main()
{
int x;
while(1)
{
printf("\t********操作选项********\n");
printf("\t** 1:for语句 **\n");
printf("\t** 2:数组类型 **\n");
printf("\t** 3:函数类型 **\n");
printf("\t** 4:九九乘法表 **\n");
printf("\t** 5:个人小 **\n");
printf("\t** 6:图像打印类 **\n");
printf("\t************************\n");
scanf("%d",&x);
printf("\n");
switch(x)
{
case 1: a();break;
case 2: b();break;
case 3: c();break;
case 4: d();break;
case 5: e();break;
case 6: f();break;
default:
printf("输入错误,请重新输入\n");
break;
}
}
}
我这个老是错误怎么解决
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-sinJack 2021-12-08 14:47关注
方法怎么写在case块中?
#include <stdio.h> #include <stdlib.h> #include <windows.h> void a() { int a; printf("\t** 查看for语句 **\n"); printf("\t** 1:查看 **\n"); printf("\t** 0:退出 **\n"); printf("\t****************************\n"); scanf("%d",&a); printf("\n"); switch(a) { case 1: { printf("开始\n"); //getch(); system("color 1"); printf(" * \n"); printf(" *** \n "); printf(" *****\n"); printf(" ******* \n"); printf(" **********\n"); printf(" ***************************\n"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); }break; case 0:printf("已返回主页面\n");break; default: printf("输入错误,请重新输入\n"); break; } } int b() { int b; printf("*********************************"); printf("\t** 观看数组类型图像 **\n"); printf("\t** 1:观看 **\n"); printf("\t** 2:退出 **\n"); printf("\t*****************************\n"); scanf("%d",&b); printf("\n"); switch(b) { case 1: { int a[10][10]; int x,y; for(x=0;x<=9;x++) { for(y=0;y<=9;y++) { a[x][0]=x+1; a[x][y+1]=2*a[x][y]; } } printf("输出10行10列的值:\n"); for(x=0;x<=9;x++) { for(y=0;y<=9;y++) printf("%5d",a[x][y]); printf("\n"); } } break; case 2:printf("已回到主页面\n");break; default: printf("输入错误,返回主界面请重新输入\n"); break; } } int c() { int c; printf("\t** 函数类型图像 **\n"); printf("\t** 1:阶乘 **\n"); printf("\t** 2:最大值 **\n"); printf("\t** 3:返回 **\n"); printf("\t****************************\n"); scanf("%d",&c); printf("\n"); switch(c) { case 1://阶乘 { { int fac(int x); int x,y; printf("输入阶乘的数:"); scanf("%d",&x); y=fac(x); printf("%d!=%d\n",x,y); return 0; } break; } case 2://最大值 { { int max4(int a,int b,int c,int d); int a,b,c,d,max; printf("请输入4个数:"); scanf("%d,%d,%d,%d",&a,&b,&c,&d); max=max4(a,b,c,d); printf("最大值是:%d\n",max); return 0; } break; } case 3:printf("已返回主页面\n");break; default: printf("输入错误,返回主界面请重新输入\n"); break; } } void d() { int d; printf("\t************************\n"); printf("\t**请选择九九乘法表类型**\n"); printf("\t********1:左上*********\n"); printf("\t***** 2:左下 ******\n"); printf("\t*** 3:右上 ****\n"); printf("\t*** 4:右下 ****\n"); printf("\t***** 5:奇数 ******\n"); printf("\t********6:返回*********\n"); printf("\t************************\n"); scanf("%d",&d); printf("\n"); switch(d) { case 1://九九乘法表左上 { int x, y; for(x=9;x>0;x--) { for(y=1;y<=x;y++) printf("%d*%d=%2d\t",x,y,x*y); printf("\n"); } };break; case 2:////九九乘法表左下 { int x,y; for(x=1;x<=9;x++) { for(y=1;y<=x;y++) printf("%d*%d=%2d\t",x,y,x*y); printf("\n"); } };break; case 3://九九乘法表右上 { int x, y; for(x=1;x<=9;x++) { for(y=1;y<=9;y++) { if(y<x) printf("\t"); else printf("%d*%d=%2d\t",x,y,x*y); } printf("\n"); } };break; case 4://九九乘法表右下 { int x,y,n; for(x=1;x<=9;x++) { for(n=1;n<=9-x;n++) printf("\t"); { for(y=1;y<=x;y++) printf("%d*%d=%2d\t",x,y,x*y); printf("\n"); } } };break; case 5://九九乘法表奇数 { int x,y,n; for(x=1;x<=9;x++) { for(n=1;n<=9-x;n++) printf("\t"); { for(y=1;y<=x;y++) if(x%2!=0) printf("%d*%d=%2d\t",x,y,x*y); printf("\n"); } } };break; case 6:printf("已返回主页面\n");break; default: printf("输入错误,返回主界面重新输入\n"); break; } } void e() { int e; printf("1:输入一个数,判断是正数、负数还是零。\n"); printf("2:输入一个小于10000的正整数,将其每个位数输出,并且逆序输出。\n"); printf("3:输入4个数字,让其从小到大排序。\n"); printf("4:求三位数的水仙花数。\n"); printf("5:用c语言求下列分数序列的前20项之和\n"); printf("6:一个球从100m高度自由落下,每次落地后反弹回原来高度的一半,再落下.求它在第10次落地并反弹到最高点,共经过多少m?第10次反弹多高?\n"); printf("7:输出杨辉三角。\n"); printf("8:利用折半查找法找数。"); printf("9:输入3行字符串,找出其中的大写字母、小写字母、数字,空格以及其他字符的个数。\n"); printf("10:输入一段文字,找出其中的大写字母、小写字母、数字,空格以及其他字符的个数。\n"); printf("11:写程序完成下面条件:1)输入10个职工的姓名和职工号;2)按职工号由小到大的顺序排序;3)要求输入一个职工号,用折半法查找出该职工的姓名,从主函数输入要查找的职工号,输出该职工的姓名\n"); printf("12:给一段数,给每个数之间插入空格\n"); printf("13:输入3个数字,从小到大排列。\n"); printf("14:编写C语言程序,输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。\n"); printf("15:输入一行文字,找出其中的大写字母、小写字母、数字,空格以及其他字符的个数。\n"); printf("16:输入5个学生的学号、姓名、分数1、分数2以及分数3并输出。\n"); scanf("%d",&d); printf("\n"); switch(e) { case 1: { int x; printf("请输入x的值:"); scanf("%d",&x); if(x<0) printf("Y=-1\n"); else if(x=0) printf("Y=0\n"); else printf("Y=1\n"); }break; case 2: break; case 3: break; case 4: break; default: printf("输入错误,返回主界面重新输入\n"); break; } } void f() { int f; printf("\t**是否确认观看函数类型图像**\n"); printf("\t** 1:用号输出字母C的图案。 **\n"); printf("\t** 2:求最大值 **\n"); printf("\t** 3:返回 **\n"); printf("\t****************************\n"); scanf("%d",&c); printf("\n"); switch(f) { case 1: { printf("Hello C-world!\n"); printf(" ****\n"); printf(" *\n"); printf(" * \n"); printf(" ****\n"); } break; case 2:system("F:\\求最大值.exe\n");break; case 3:printf("已返回主页面\n");break; default: printf("输入错误,返回主界面请重新输入\n");break; } } int main() { int x; while(1) { printf("\t********操作选项********\n"); printf("\t** 1:for语句 **\n"); printf("\t** 2:数组类型 **\n"); printf("\t** 3:函数类型 **\n"); printf("\t** 4:九九乘法表 **\n"); printf("\t** 5:个人小 **\n"); printf("\t** 6:图像打印类 **\n"); printf("\t************************\n"); scanf("%d",&x); printf("\n"); switch(x) { case 1: a();break; case 2: b();break; case 3: c();break; case 4: d();break; case 5: e();break; case 6: f();break; default: printf("输入错误,请重新输入\n"); break; } } return 0; } int fac(int x) { int a; if(x<0) printf("x<0,data error!"); else if(x==0,x==1) a=1; else a=fac(x-1)*x; return(a); } int max4(int a,int b,int c,int d) { int max2(int a,int b); int n; n=max2(a,b); n=max2(n,c); n=max2(n,d); return n; } int max2(int a,int b) { if(a>=b) return a; else return b; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
- ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
- ¥50 opencv4nodejs 如何安装
- ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
- ¥15 nginx反向代理获取ip,java获取真实ip
- ¥15 eda:门禁系统设计
- ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
- ¥15 376.1电表主站通信协议下发指令全被否认问题
- ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
- ¥15 复杂网络,变滞后传递熵,FDA