牛客网刷题 | BC57 四季

描述

气象意义上,通常以3~5月为春季(spring),6~8月为夏季(summer),9~11月为秋季(autumn),12月~来年2月为冬季(winter)。请根据输入的年份以及月份,输出对应的季节。

输入描述:

输入的数据格式是固定的YYYYMM的形式,即:年份占4个数位,月份占2个数位。

输出描述:

输出月份对应的季节(用英文单词表示,全部用小写字母)。


思路:

定义变量

用户输入

因为要判断最后的两位数字是否为春夏秋冬

所以就可以将用户输入的数字进行 %100 的操作,以此来去最后两位数字


 这是我写的无脑代码:

# include <stdio.h>
int main ()

{
    int input = 0;
   // printf("输入格式:YYYYMM\n");
    scanf("%d",&input);
    if(input%100==12||input%100==1||input%100==2)
    {
        printf("winter\n");
    }
    else if (input%100==3||input%100==4||input%100==5) 
    {
        printf("spring\n");
    }
    else if (input%100==6||input%100==7||input%100==8) 
    {
        printf("summer\n");
    }
    else if (input%100==9||input%100==10||input%100==11)
    {
        printf("autumn\n");
    }
   
    return 0;
}

以下是大佬写的高级点的代码:
#include <stdio.h>

int main() 
{
    int month = 0;

    scanf("%d", &month);
    month %= 100;//只截取月份

    switch(month)
    {
        case 12:
        case 1:
        case 2:
            printf("winter\n");
        break;
        case 3:
        case 4:
        case 5:
            printf("spring\n");
        break;
        case 6:
        case 7:
        case 8:
            printf("summer\n");
        break;
        case 9:
        case 10:
        case 11:
            printf("autumn\n");
        default:
        break;
    }

    return 0;
}

 扩展:Switch 语句

以下内容来自:菜鸟教程

C switch 语句 | 菜鸟教程 (runoob.com)

C switch 语句

switch 语句是一种有限制的控制流语句,它用于根据表达式的值执行不同的代码块。

一个 switch 语句允许测试一个变量等于多个值时的情况,每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。

语法

C 语言中 switch 语句的语法:

switch(expression){
    case constant-expression  :
       statement(s);
       break; /* 可选的 */
    case constant-expression  :
       statement(s);
       break; /* 可选的 */
  
    /* 您可以有任意数量的 case 语句 */
    default : /* 可选的 */
       statement(s);
}

switch 语句说明:

  • switch 后面的表达式的值将会与每个 case 后面的常量值进行比较,直到找到匹配的值或者执行到 default(如果存在)。
  • 如果找到匹配的值,将执行相应 case 后面的代码块,然后跳出 switch 语句。
  • 如果没有匹配的值,并且有 default,则执行 default 后面的代码块。
  • 如果没有匹配的值,并且没有 default,则跳过整个 switch 语句直到结束。

switch 语句必须遵循下面的规则:

  • switch 表达式的类型: switch 语句中的表达式必须是整数类型(char、short、int或枚举),或者是能够隐式转换为整数类型的表达式。

  • case 标签的唯一性: 在 switch 语句中,每个 case 标签必须是唯一的,不能有重复的值。

  • 默认情况的可选性: switch 语句中的 default 标签是可选的。如果没有匹配的 case 标签,则会执行 default 标签下的代码块(如果存在)。

  • case 标签中的常量值: case 标签中只能是常量值,不能是变量或表达式。

  • case 标签的顺序: switch 语句中的 case 标签的顺序并不重要,它们可以按照任意顺序编写。程序会按照 case 标签出现的顺序依次匹配。

  • break 语句的使用: 在每个 case 标签的代码块结束处通常需要使用 break 语句来终止 switch 语句的执行。如果没有 break 语句,程序将会继续执行下一个 case 标签中的代码,直到遇到 break 语句或 switch 语句结束。

  • switch 语句的嵌套: switch 语句可以嵌套在其他 switch 语句中,但是需要注意代码的可读性和复杂性。

  • case 标签和表达式的范围: switch 语句的 case 标签可以是整数常量表达式,但不能是浮点数或字符串。

 流程图

实例: 

#include <stdio.h>
 
int main ()
{
   /* 局部变量定义 */
   char grade = 'B';
 
   switch(grade)
   {
   case 'A' :
      printf("很棒!\n" );
      break;
   case 'B' :
   case 'C' :
      printf("做得好\n" );
      break;
   case 'D' :
      printf("您通过了\n" );
      break;
   case 'F' :
      printf("最好再试一下\n" );
      break;
   default :
      printf("无效的成绩\n" );
   }
   printf("您的成绩是 %c\n", grade );
 
   return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

做得好
您的成绩是 B

Hello,各位读者朋友们你们好,欢迎来到 从0至1 的CSDN博客。

一个喜欢文学的理科男,欢迎大家关注我的矩阵平台!

欢迎关注我的短视频矩阵:

微信公众平台:从0至1

今日头条:从0至1

百家号(百度APP):小飞从0至1

抖音:从0至1

小红书:从0至1

知乎:从0至1

CSDN:https://blog.csdn.net/m0_64000959?spm=1000.2115.3001.5343

Gitee:https://gitee.com/from-0-to-1

后续继续更新......

  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值