第十一次上机作业

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

 

 

 
 
posted @ 2021-11-30 11:15  一颗月亮  阅读(26)  评论(0)    收藏  举报