C语言 菜单选择的程序怎么做 (用switch 语句)

2024-11-01 19:37:03
推荐回答(3个)
回答1:

#include

void do1()
{
int n,i,m;
int a[10]={0};
printf("请输入要判断的数:");
scanf("%d",&n);
m=n;
for(i=0;;i++)
{
a[i]=m%10;
m/=10;
if(m==0)
break;
}
for(i=0;a[i]!=0;i++)
{
m+=a[i]*a[i]*a[i];
}
if(n==m)
printf("%d是水仙花数\n",n);
else
printf("%d不是水仙花数\n",n);
}

void do2()
{
int max,n,m,k;
printf("请输入三个判断的数字:");
scanf("%d %d %d",&n,&m,&k);
max=n;
if(maxmax=m;
if(maxmax=k;
printf("最大的数为:%d\n",max);
}

void do3()
{
int i,n,m=1;
printf("请输入要求的数字:");
scanf("%d",&n);
for(i=1;i<=n;i++)
m*=i;
printf("%d的阶乘是%d\n",n,m);
}

int menu()
{
int cn;
printf("请输入指令:");
scanf("%d",&cn);
return cn;
}

void main()
{
for(; ;)
{
switch(menu())
{
case 1:
do1(); break;
case 2:
do2(); break;
case 3:
do3();break;
}
}
}
我给的这个还不是文件的形式,你需要的是文件的形式的话只要自己稍微改改就可以了,如果不是非要文件的形式,那么完全符合,纯属手打,也同时锻炼了自己,求采纳

回答2:

#include
int menu()
{
int choice;
printf("*************menu*****************\n");
printf("1:判断一个数是否为水仙花数\n ");
printf("2:求三个数的最大值\n");
printf("3:求一个数的阶乘\n");
printf("4:退出\n");
printf("**********************************\n");
printf("请输入你的选择(1-4):");
scanf("%d",&choice);
return choice;
}
main()
{
int choice;
choice = menu();
while(1)
{
if(choice>=1 && choice <= 4)
{
switch(choice)
{
case 1:printf("aaaaaaaa\n");break;
case 2:printf("bbbbbbbb\n");break;
case 3:printf("cccccccc\n");break;
case 4:return 0;
}
choice=menu();
}
else
{
printf("input error\n");
choice=menu();
}
}
return 0;
}

回答3:

#include "stdio.h"
void jc()
{
int n,i,s;
printf("输入一个整数:");
scanf("%d",&n);
s=1;
for(i=2;i<=n;i++)
s*=i;
printf("%d",s);
}
void max()
{
float d[3],fmax;
int i;
printf("输入三个数:");
for(i=0;i<3;i++)
{
scanf("%f",&d[i]);
if(i==0)
fmax=d[i];
else
{
if(d[i]>fmax)
fmax=d[i];
}
}
printf("max=%f",fmax);
}
void sxhs()
{
int d,g,s,b,t;
printf("输入一个(100-999之间)整数:");
scanf("%d",&d);
if(d>=100 && d<=999)
{
g=d%10;
t=d/10;
s=t%10;
b=t/10;
if(g*g*g+s*s*s+b*b*b==d)
printf("%d是水仙花数\n",d);
else
printf("%d不是水仙花数\n",d);
}
else
{
printf("输入错误!");
}
}
int main()
{
int num;
printf("*****************************************************\n");
printf("1、判断一个数是否为水仙花数\n2、求三个数的最大值\n3、求一个数的阶乘\n\n");
printf("*****************************************************\n\n");
printf("输入序号:");
scanf("%d",&num);
switch(num)
{
case 1:
sxhs();
break;
case 2:
max();
break;
case 3:
jc();
break;
default:
printf("序号输入错误");
break;
}
}