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

菜单功能如下1、判断一个数是否为水仙花数2、求三个数的最大值3、求一个数的阶乘... 菜单功能如下1、判断一个数是否为水仙花数
2、求三个数的最大值
3、求一个数的阶乘
展开
 我来答
止凝竹c
推荐于2017-11-25 · TA获得超过395个赞
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:164万
展开全部
#include<stdio.h>

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(max<m)
max=m;
if(max<k)
max=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;
}
}
}
我给的这个还不是文件的形式,你需要的是文件的形式的话只要自己稍微改改就可以了,如果不是非要文件的形式,那么完全符合,纯属手打,也同时锻炼了自己,求采纳
松甜恬0Je4ba
2013-04-30 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3454万
展开全部
#include<stdio.h>
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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f3b3e02
2013-04-30 · TA获得超过2156个赞
知道小有建树答主
回答量:821
采纳率:90%
帮助的人:585万
展开全部
#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;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式