第十二次作业
1.实现一个菜单 可以切换 ,可以返回主菜单 主菜单 1.登录 2.注册 3.输出水仙花数 4.退出程序 请选择: 选择后实现对应的功能 #include<stdio.h> #include <string.h> void login(); void mainMenu(); void rigist(); void scsxhs(); void goout(); void returnToMain(); main(){ mainMenu(); } void mainMenu(){ int i; printf("1.登入\n"); printf("2.注册\n"); printf("3.输出水仙花数\n"); printf("4.退出程序\n"); printf("请输入\n"); scanf("%d",&i); switch(i){ case 1: login(); break; case 2: rigist(); break; case 3: scsxhs(); break; case 4: goout(); break; } } void login(){ char uname[20],upwd[20]; printf("请输入用户名\n"); scanf("%s",&uname); printf("请输入密码\n"); scanf("%s",&upwd); if(strcmp(uname,"moxi")==0&&strcmp(upwd,"moximoxi")==0) printf("登入成功\n"); else printf("登入失败\n"); returnToMain(); } void rigist(){ char upwd1[10],upwd2[10],uname[10]; printf("******欢迎注册*******\n"); printf("请输出自己喜欢的用户名\n"); scanf("%s\n",&uname); printf("请输入密码\n"); scanf("%s",&upwd1); printf("请再次输入密码\n"); scanf("%s",&upwd2); if(strcmp(upwd1,upwd2)==0) printf("注册成功\n"); else printf("注册失败\n"); returnToMain(); } void scsxhs(){ printf("153,370,371,407\n"); returnToMain(); } void goout(){ printf("感谢使用,再见\n"); } void returnToMain(){ char answer[20]; printf("是否返回主菜单?Y/N\n"); scanf("%s",answer); if(strcmp(answer,"Y")==0) mainMenu(); else printf("感谢使用,再见\n"); }
2. 使用函数,求2个数的最大值,并调用. #include<stdio.h> void max(); main(){ max(); } void max(){ int i,j,max; printf("请输入两个整数\n"); scanf("%d%d",&i,&j); max=i>j?i:j; printf("%d",max); }
3.使用递归函数,求阶乘,并调用求5的阶乘。 #include<stdio.h> void jiecheng(); main(){ jiecheng(); } void jiecheng(){ int i,jc=1,n; printf("请输入一个数值\n"); scanf("%d",&n); for(i=1;i<=n;i++){ jc*=i; } printf("%d",jc); }
3.使用递归函数,求阶乘,并调用求5的阶乘。
3.使用递归函数,求阶乘,并调用求5的阶乘。 #include<stdio.h> void jiecheng(); main(){ jiecheng(); } void jiecheng(){ int i,jc=1,n; printf("请输入一个数值\n"); scanf("%d",&n); for(i=1;i<=n;i++){ jc*=i; } printf("%d",jc); }
4.使用函数,判断一个年份是不是闰年,如果是闰年返回1,否则返回0。 #include<stdio.h> void pdt(); main(){ pdt(); } void pdt(){ int i; printf("请输入一个年份\n"); scanf("%d",&i); if((i%4==0&&i%100!=0)||(i%400==0)) printf("1\n"); else printf("0\n"); }