第十一次上机作业
1.实现一个菜单 可以切换 ,可以返回主菜单
主菜单
1.登录
2.注册
3.输出水仙花数
4.退出程序
请选择:
选择后实现对应的功能
#include <stdio.h> #include <string.h> void mainMenu(); void login(); void regist(); void shuiXianHua(); void returnToMenu(); main() { mainMenu(); } void mainMenu() { int i; printf("1.登录\n"); printf("2.注册\n"); printf("3.输出水仙花数\n"); printf("4.退出程序\n"); printf("请你选择序号:"); scanf("%d",&i); switch (i) { case 1:login(); break; case 2:regist(); break; case 3:shuiXianHua(); break; } } void login() { char uname[20],upwd[20]; printf("请输入你的用户名:"); scanf("%s",uname); printf("请输入密码:"); scanf("%s",upwd); if (strcmp(uname,"admin")==0&&strcmp(upwd,"admin")==0) { printf("登陆成功"); }else { printf("登陆失败"); } returnToMenu(); } void regist() { char uname[20],upwd1[20],upwd2[20]; printf("请输入用户名:"); scanf("%s",uname); printf("请输入密码:"); scanf("%s",upwd1); printf("请再次输入密码:"); scanf("%s",upwd2); if (strcmp(upwd1,upwd2)==0) { printf("注册成功"); }else { printf("注册失败"); } returnToMenu(); } void shuiXianHua() { int i,ge,shi,bai; i=100; while(i<1000) { ge=i%10; shi=i/10%10; bai=i/100; if (ge*ge*ge+shi*shi*shi+bai*bai*bai==i) { printf("水花仙数是%d\n",i); } i++; } returnToMenu(); } void returnToMenu() { char answer[20]; printf("您是否要退出程序?Y/N,请输入:"); scanf("%s",answer); if (strcmp(answer,"Y")==0) { printf("谢谢使用,再见\n"); }else { mainMenu(); } }

2.使用函数,求2个数的最大值,并调用
#include <stdio.h>
int max(int a,int b);
main()
{
int a,b;
printf("请输入两个数,(请用空格隔开):");
scanf("%d %d",&a,&b);
printf("%d\n",max(a,b));
}
int max(int a,int b)
{
if (a>b)
return a;
else
return b;
}

3.使用递归函数,求阶乘,并调用求5的阶乘
#include<stdio.h> #include<stdlib.h> int fun(int n) { if(n==1) return 1; return fun(n-1)*n; } int main() { int num=0; num=fun(5); printf("最后的结果是:%d",num); return 0; }

4.使用函数,判断一个年份是不是闰年,如果是闰年返回1,否则返回0
#include <stdio.h> int year(int a); main() { int n; printf("请输入你的年份:"); scanf("%d",&n); printf("%d",year(n)); } int year(int a) { if (a%4==0&&a%100!=0||a%400==0) { return 1; } return 0; }

5.使用函数,求一个数绝对值,并调用.
#include<stdio.h> int juedui(int x) { if(x>=0) return x; else return -x; } int main() { int x; scanf("%d",&x); printf("|%d|=%d\n",x,juedui(x)); return 0; }


浙公网安备 33010602011771号