第十二次作业
1.实现一个菜单可以切换,可以返回主菜单
主菜单
(1).登录
(2).注册
(3).输入水仙花数
(4).退出程序
请选择:
选择后实现对应的功能
#include<stdio.h>
#include<string.h>
void mainMenu();
void login();
void returnToMain();
void regist();
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;
}
}
void login(){
char uname[20],upwd[20];
printf("请输入用户名");
scanf("%s",uname);
printf("请输入密码");
scanf("%s",upwd);
if(strcmp(uname,"admain")==0&&strcmp(upwd,"admain")==0){
printf("登录成功");
}else{
printf("登录失败");
}
returnToMain();
}
void regist(){
char uname[20],upwd1[20],upwd2[20];
printf("**********欢迎注册***********\n");
printf("请输入用户名");
scanf("%s",uname);
printf("请输入密码");
scanf("%s",upwd1);
printf("请再次输入密码");
scanf("%s",upwd2);
if(strcmp(upwd1,upwd2)==0){
printf("注册成功");
}else{
printf("注册失败");
}
returnToMain();
}
void returnToMain(){
char answer[20];
printf("是否返回主菜单?Y/N\n");
scanf("%s",answer);
if(strcmp(answer,"Y")==0)
mainMenu();
else
printf("谢谢使用,再见");
}
2.使用函数,求2个数的最大值,并调用
#include<stdio.h>
int GetMax(int a,int b);
int main(void)
{
int a,b,max;
printf("输入两个整数:");
scanf("%d%d",&a,&b);
max=GetMax(a,b);
printf("max=%d\n",max);
return 0;
}
int GetMax(int a,int b)
{
if(a>=b)
return a;
else
return b;
}
3.使用递归函数,求阶乘,并调用求5的阶乘
#include<stdio.h>
int fact(int n)
{
if(n==0)
return 1;
return n*fact(n-1);
}
int main()
{
int rs=fact(5);
printf("%d",rs);
}
4.使用函数,判断一个年份是不是闰年,如果是闰年返回1,否则返回0
#include<stdio.h>
int year(int y)
{
if((y%4==0&&y/100!=0)||(y%400)==0)
return 1;
else
return 0;
}
main()
{
int year;
int tmp=0;
printf("输入一个年份:\n");
scanf("%d",&year);
if(1==tmp)
printf("是闰年\n");
else
printf("不是闰年\n");
return 0;
}
5.使用函数,求一个数绝对值,并调用
#include<stdio.h>
#include<math.h>
int main(int argc,const char**argv)
{
int number=0;
scanf("%d",&number);
printf("|%d|=%d\n",number,abs(number));
return 0;
}