第十二次作业
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);
}

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");
}

5.使用函数,求一个数的绝对值,并调用。
#include<stdio.h>
void jdz();
main(){
jdz();
}
void jdz(){
double i,j;
printf("请输入一个数值i\n");
scanf("%lf",&i);
if(i<0){
j=-1*i;
printf("%.1lf",j);
}else{
j=i;
printf("%.1lf",j);
}
}


浙公网安备 33010602011771号