第十一周 oj训练 日期妙算星座

Copyright (c) 2016 烟台大学计算机与控制工程学院
All rights reserved.
文件名称:test.cpp
作者:何定钦
完成日期:2016年11月15日
题目描述:
    近几年星座运势十分流行,据说一年之中根据月份可以分出十二个星座,它们分别是:摩羯座(12.21-1.19),
    水瓶座(1.20-2.18),双鱼座(2.19-3.20),白羊座(3.21-4.19),金牛座(4.20-5.20),双子座(5.21-6.21),
    巨蟹座(6.22-7.22),狮子座(7.23-8.22),处女座(8.23-9.22),天秤座(9.23-10.23),天蝎座(10.24-11.22),
    射手座(11.23-12.21),猴哥对星座很感兴趣,他想快速根据自己的出生日期求出他所属的星座,请你编程帮助他吧~
输入:
    出生年月日
输出:
    对应星座
样例输入:
    2000 12 31
样例输出:
    摩羯座
分析:
#include <stdio.h>
void constellation(int year,int month,int day); /*函数声明*/
int main()
{
    int year,month,day;
    scanf("%d %d %d",&year,&month,&day);    /*输入变量*/
    constellation(year,month,day);  /*调用函数*/
    return 0;
}
void constellation(int year,int month,int day)
{
    switch(month)
    {
    case 1:
        if(day<=19)
            printf("摩羯座");
        else
            printf("水瓶座");
            break;
    case 2:
        if(day<=18)
            printf("水瓶座");
        else
            printf("双鱼座");
            break;
    case 3:
        if(day<=20)
            printf("双鱼座");
        else
            printf("白羊座");
            break;
    case 4:
        if(day<=19)
            printf("白羊座");
        else
            printf("金牛座");
            break;
    case 5:
        if(day<=20)
            printf("金牛座");
        else
            printf("双子座");
            break;
    case 6:
        if(day<=21)
            printf("双子座");
        else
            printf("巨蟹座");
            break;
    case 7:
        if(day<=22)
            printf("巨蟹座");
        else
            printf("狮子座");
            break;
    case 8:
        if(day<=22)
            printf("狮子座");
        else
            printf("处女座");
            break;
    case 9:
        if(day<=22)
            printf("处女座");
        else
            printf("天秤座");
            break;
    case 10:
        if(day<=23)
            printf("天秤座");
        else
            printf("天蝎座");
            break;
    case 11:
        if(day<=22)
            printf("天蝎座");
        else
            printf("射手座");
            break;
    case 12:
        if(day<=21)
            printf("射手座");
        else
            printf("摩羯座");
    }
    return;
}

结果:


知识点总结:

利用switch语句,想清楚要从那一步开始,再慢慢做即可。

心得体会:

分析号题目要求,一步一步细化来做。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值