第十二次作业
1.实现一个菜单 可以切换 ,可以返回主菜单
主菜单
1.登录
2.注册
3.输出水仙花数
4.退出程序
请选择:
选择后实现对应的功能
#include<stdio.h>
#include<string.h>
void a();
void b();
void c();
void d();
void e();
main(){
a();
}
void a(){
int i;
printf("主菜单\n1.登录\n2.注册\n3.输入水仙花数\n4.退出程序\n请选择\n");
scanf("%d",&i);
switch(i){
case 1:
b();
break;
case 2:
c();
break;
case 3:
e();
break;
}
}
void b(){
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("登录失败");
}
d();
}
void c(){
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("注册失败");
}
d();
}
void d(){
char answer[20];
printf("是否返回主菜单?\n");
scanf("%s",answer);
if(strcmp(answer,"y")==0)
a();
else
printf("再见");
}
void e(){
int q,w,r;
int i=100;
while(i<1000)
{
q=i/100;
w=i%100/10;
r=i%10;
if(i==q*q*q+w*w*w+r*r*r)
printf("%4d\n",i);
i++;
}
}
2.使用函数,求2个数的最大值,并调用
#include<stdio.h>
int GetMax (int a,int b);
int main()
{
int x,y,max;
printf("Inputx,y:");
scanf("%d%d",&x,&y);
printf("max=%d\n",max);
return 0;
}
int GetMax(int m,int n)
{
if(m>=n)
return m;
else
return n;
}
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\n",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;
}