学习C语言第八天——switch语句

前言

运用switch语句写了一个小程序,功能如下:
输入王者荣耀里的英雄缩写,输出对应永雄别名/称号/封号。
程序只支持部分英雄缩写,原因是作者懒得敲代码了,部分代码已经能够演示函数功能。


switch语句是什么?

示例:
switch ( 整型表达式)
{
case 常量1:
语句 <–可选
case 常量2:
语句 <–可选
default : <–可选
语句 <–可选
}

1.完整代码

代码如下(示例):

#include <stdio.h>
#include <string.h>
int main(void)
{
	char ch[5]={'0','0','0','0','0'};
	int  a;
	while (ch[0] != '#')      //输入 # 终止
	{
		printf("输入王者荣耀英雄首字母缩写:\n ");
		scanf_s("%s", ch, 40);//输入英雄缩写
		a = strlen(ch);      //得到英雄缩写长度
		switch (a)
		{
		case 1: //一字
			{if (ch[0] == 'f')
				printf("玉城王子\n");
			if (ch[0] == 'l')
				printf("鲨之猎刃\n");
			if (ch[0] == 'j')
				printf("破镜之刃\n");
			if (ch[0] == 'y')
				printf("星辰之子or鹿灵守心\n");
			if (ch[0] == 'k')
				printf("破灭刃锋\n");
			else printf("此英雄尚未添加!\n"); }
		break;
		case 2://二字
			{if (ch[0] == 'j' && ch[1] == 'c')
				printf("渡世行者\n");
			if (ch[0] == 'y' && ch[1] == 'y')
				printf("燎原之心\n");
			if (ch[0] == 'a' && ch[1] == 'l')
				printf("精灵之舞\n");
			if (ch[0] == 'm' && ch[1] == 'y')
				printf("烈炮小子\n");
			if (ch[0] == 'x' && ch[1] == 's')
				printf("幻纱之灵\n");
			if (ch[0] == 'm' && ch[1] == 'c')
				printf("冷晖之枪\n");
			else printf("此英雄尚未添加!\n"); }
		break;
		case 3://三字
			{if (ch[0] == 's' &&ch[1] == 'w' && ch[2] == 'k')
				printf("齐天大圣\n");
			if (ch[0] == 'x' && ch[1] == 'l' && ch[2] == 't')
				printf("玫瑰剑士\n");
			if (ch[0] == 'a' && ch[1] == 'g' && ch[2] == 'd')
				printf("山林之子\n");
			else printf("此英雄尚未添加!\n"); }
		break;
		case 4://四字
			{if (ch[0] == 'l' && ch[1] == 'b'&& ch[2] == 'd' && ch[3] == 's')
				printf("神匠\n");
			if (ch[0] == 's' && ch[1] == 'g' && ch[2] == 'w' && ch[3] == 'e')
				printf("惊鸿之笔\n");
			if (ch[0] == 'g' && ch[1] == 'j' && ch[2] == 'm' && ch[3] == 'y')
				printf("淬命双剑\n"); 
			else printf("此英雄尚未添加!\n"); }
		break;
		default:
			printf("此英雄尚未添加!\n");
		} /* switch结束 */
	}
	return 0;
}

2.运行结果

代码如下(示例):

输入王者荣耀英雄首字母缩写:
 agd
山林之子
输入王者荣耀英雄首字母缩写:
 hhh
此英雄尚未添加!
输入王者荣耀英雄首字母缩写:
 #
此英雄尚未添加!

总结

使用条件运算符和 if else 语句很容易编写二选一的程序。然而,有时程
序需要在多个选项中进行选择。可以用if else if…else来完成。但是,大多数
情况下使用switch语句更方便。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值