月份与switch语句

/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: fun.cpp
* 作 者:王飞
* 完成日期:2013 年3月 2日
* 版本号: v1.0
* 对任务及求解方法的描述部分:switch语句解决月份问题
* 输入描述:略
* 问题描述:略
* 程序输出:如下
*/


#include <iostream>
using namespace std;
int main()
{
	void season (int d);				//函数的声明
	int m;
	cout<<"请您输入相应的月份:"<<endl;
	cin>>m;
	season(m);						//函数的调用
	return 0;
}

void season (int d)
{
	if(d>12||d<0){
		cout<<"您输入的月份有误!"<<endl;			//判断月份错误吗
	}else
	{
		switch(d)
		{
		case 12:
		case 1:
		case 2:
				   cout<<"冬季"<<endl;break;
		case 3:
		case 4:
		case 5:

				   cout<<"春季"<<endl;break;
		case 6:
		case 7:
		case 8:
				   cout<<"夏季"<<endl;break;
		default :cout<<"秋季"<<endl;
		}
	}

}


输出结果:




心得体会:

感觉与实际往往不一致,只有亲身实践过,才会有深刻体会啊!

### 使用 `switch` 语句处理月份编程中,`switch` 是一种用于多分支选择的控制结构。它可以用来根据不同的输入执行相应的操作。对于月份相关的逻辑,可以通过将月份作为 `switch` 的表达式参数,针对每个月份定义特定的操作。 以下是基于不同编程语言实现的一个通用例子: #### C/C++ 实现 ```c #include <stdio.h> int main() { int month; printf("请输入月份 (1-12): "); scanf("%d", &month); switch (month) { case 1: printf("一月\n"); break; case 2: printf("二月\n"); break; case 3: printf("三月\n"); break; // 继续其他月份... case 12: printf("十二月\n"); break; default: printf("无效的月份\n"); break; } return 0; } ``` 在这个例子中,程序会提示用户输入一个整数代表月份,然后通过 `switch` 判断打印对应的结果。如果没有匹配到任何有效的月份,则进入默认分支[^4]。 --- #### Java 实现 ```java import java.util.Scanner; public class MonthExample { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入月份 (1-12): "); int month = scanner.nextInt(); String result = ""; switch (month) { case 1: result = "一月"; break; case 2: result = "二月"; break; case 3: result = "三月"; break; // 继续其他月份... case 12: result = "十二月"; break; default: result = "无效的月份"; break; } System.out.println(result); } } ``` 此代码片段展示了如何利用 `switch` 来映射用户的输入至具体的字符串描述。注意,在某些情况下可能需要额外加入错误检测机制以防止非法数据输入[^3]。 --- #### C# 实现(传统方式) ```csharp using System; class Program { static void Main(string[] args) { Console.Write("请输入月份 (1-12): "); int month = Convert.ToInt32(Console.ReadLine()); string output = ""; switch (month) { case 1: output = "一月"; break; case 2: output = "二月"; break; case 3: output = "三月"; break; // 更多月份... case 12: output = "十二月"; break; default: output = "无效的月份"; break; } Console.WriteLine(output); } } ``` 这段代码同样遵循标准流程设计原则,即接收用户输入通过 `switch-case` 结构完成相应功能调用[^1]。 --- #### C# 实现(现代方法 - Switch 表达式) 自 C# 8.0 起引入了更加简洁优雅的方式——Switch 表达式。下面是如何使用它的版本: ```csharp using System; class Program { static void Main(string[] args) { Console.Write("请输入月份 (1-12): "); int month = Convert.ToInt32(Console.ReadLine()); string GetMonthName(int m) => m switch { 1 => "一月", 2 => "二月", 3 => "三月", // 添加更多月份... 12 => "十二月", _ => "无效的月份" }; Console.WriteLine(GetMonthName(month)); } } ``` 这里采用箭头函数形式简化了传统的冗长写法,使得整个过程看起来更为直观清晰[^2]。 --- ### 总结 无论哪种语言或者风格的选择,核心思想都是围绕着给定条件下的多重路径决策展开讨论。上述各例均体现了这一特性的同时也兼顾到了实际应用场景中的灵活性需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值