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

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

#include<stdio.h>

void do1()

{

int n,i,m

int a[10]={0}

printf("请输入要判断的数:")

scanf("%d",&n)

m=n

for(i=0i++)

{

a[i]=m%10

m/=10

if(m==0)

break

}

for(i=0a[i]!=0i++)

{

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=1i<=ni++)

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

}

}

}

我给的这个还不是文件的形式,你需坦脊要的是文件的形式的话只要自己稍微改改就可以了,袭信闭如果不是非要文件的形式,那么完全符合,纯属手打,也同时锻炼了自己,求采纳

最滑前隐终结果——m=3

switch (a%3) → a为16,a%3为1 → 执行 case 1 → m初值为0,m++为1。注意,这里case1 并没有break,所以会继续向下执行完整个switch (a%3) → 执行switch (b%2) → b为21,b%2为1 → 执行default → m为1,m++为2 → 注悔游意这里依然会继续执行case0 → m++为3,break跳出switch (b%2) → switch (a%3)语句结束 → 执行printf,此信厅时m为3。

#include<stdio.h>

void main() {

int a=16,b=21,m=0

switch(a%3) {

case 0:m++ break

case 1:m++

switch(b%2) {

default: m++

case 0:m++break

}

}

printf("m=%d\n",m)

}

运行结果


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12234228.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存