第十一次作业

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.请你选择序号:");
    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.    使用函数,求两个数的最大值并调用。
#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>
int func(int a);
main()
{
    int  a;
    printf("请输入你要阶乘到的数:");
    scanf("%d",&a);
    printf("%d的阶乘结果是%d\n",a,func(a));
    }
    int func(int a)
    {
        if(a==1||a==0)
        {
            return 1;
        }else
        return(a*func(a-1));
        }

 

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 jdz(int a);
main()
{
    int  a;
    printf("请输入一个数:");
    scanf("%d",&a);
    printf("%d的绝对值是:%d",a,jdz(a));
    }
    int jdz(int a)
    {
        if(a<0)
        return -1*a;
        return a;
        }

 

 

 

posted @ 2021-11-30 12:16  郭津彤  阅读(17)  评论(0)    收藏  举报