用C语言swich函数写,用户输入一个数字,大于零输出1,小于0输出-1,等于0输出0

时间: 2023-05-30 16:06:01 浏览: 385
``` #include <stdio.h> int main() { int num; printf("请输入一个数字:"); scanf("%d", &num); switch(num > 0) { case 1: printf("1"); break; case 0: switch(num < 0) { case 1: printf("-1"); break; case 0: printf("0"); break; } break; } return 0; } ``` 解释:首先使用 scanf 函数获取用户输入的数字,然后使用 switch 函数判断该数字是否大于0。如果大于0,输出1;如果小于等于0,则再次使用 switch 函数判断该数字是否小于0。如果小于0,输出-1;如果等于0,输出0。
相关问题

输入一个整数,将其值按小于10,99 c语言switch语录

根据题目要求,我们需要通过`switch`语句将输入的整数按照小于10和大于等于10小于99的两个不同情况进行处理。具体的代码如下: ```c #include <stdio.h> int main() { int num; printf("请输入一个整数:"); scanf("%d", &num); switch (num) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: printf("您输入的整数小于10。\n"); break; default: if (num >= 10 && num < 99) { printf("您输入的整数大于等于10且小于99。\n"); } else { printf("您输入的整数不符合要求。\n"); } } return 0; } ``` 以上代码中,首先通过`scanf`函数获取用户输入的整数并存储在变量`num`中。然后,使用`switch`语句对`num`的值进行判断,当`num`的值为0-9时,输出“您输入的整数小于10。”;当`num`的值大于等于10且小于99时,输出“您输入的整数大于等于10且小于99。”;否则,输出“您输入的整数不符合要求。”。 注意,`switch`语句中的`case`只能判断具体的数值,不能判断范围,所以我们需要手动列举出0-9的每个数值作为一个`case`分支。

设计c语言程序 假如某月的1日是星期三,那么输入该月中的日期,要求输出对应的星期数。如输入3,则输出Friday。输入不合法的数据,输出有错

### 回答1: 以下是一个简单的 C 语言程序,可以实现上述功能: ```c #include <stdio.h> int main() { int day; printf("请输入一个月中的日期:"); scanf("%d", &day); if (day < 1 || day > 31) { printf("输入不合法的数据!\n"); return 1; } int weekday = (day + 2) % 7; switch (weekday) { case 0: printf("Sunday\n"); break; case 1: printf("Monday\n"); break; case 2: printf("Tuesday\n"); break; case 3: printf("Wednesday\n"); break; case 4: printf("Thursday\n"); break; case 5: printf("Friday\n"); break; case 6: printf("Saturday\n"); break; } return 0; } ``` 这个程序会提示用户输入一个月中的日期,然后计算出对应的星期数并输出。如果输入的数据不合法(小于1或大于31),则会输出错误信息并退出程序。 ### 回答2: 要设计一个C语言程序来实现这个功能,可以采用以下步骤: 1. 定义一个函数来判断某年是否是闰年。这可以通过判断年份是否能被4整除但不能被100整除,或者能被400整除来实现。 2. 定义一个函数来计算某年某月1日是星期几。可以利用Zeller公式来计算,公式为: h = (q + ((26 * (m + 1)) / 10) + k + (k / 4) + (j / 4) + (5 * j)) % 7 其中, h是星期(0-6,0表示星期天),q是某月的第几天,m是月份(3表示3月,4表示4月,...,12表示12月,要把1月和2月看作上一年的13月和14月计算),j是年份的前两位数,k是年份的后两位数。 3. 在主函数中,获取用户输入的月份。 4. 调用函数判断该年份是否是闰年,如果是,则将月份修改为上一年的13月和14月对应的月份。 5. 调用函数计算某年某月1日是星期几。 6. 根据计算结果输出相应的星期数,可以使用switch语句实现。 7. 对于不合法的输入数据,如输入的月份超过了1-12的范围,输出错误信息。 这样,就可以实现根据输入的日期,输出对应的星期数的功能。 ### 回答3: 设计c语言程序,实现输入一个月中的日期,输出对应的星期数。首先,我们需要判断输入的日期是否合法,即日期是否在1到31之间,如果不在该范围内,则输出"输入日期不合法"。 然后,根据已知条件,假设某月的1日是星期三,那么可以通过计算得出该月的每一天是星期几。 具体实现步骤如下: 1. 定义一个整型变量date,作为输入的日期。 2. 判断date的值是否在1到31之间,如果不在该范围内,则输出"输入日期不合法",并结束程序。 3. 定义一个整型变量week,用于保存星期数。 4. 根据输入的日期计算该日是星期几: - 首先,根据已知条件,假设某月的1日是星期三,根据这一信息,可以推算出每个月的第一个星期几。 - 计算输入日期与该月第一天相隔的天数,将其除以7并取余数,余数即为该日期是星期几。 5. 根据计算结果,输出对应的星期数: - 如果week的值为0,输出"Sunday"; - 如果week的值为1,输出"Monday"; - 如果week的值为2,输出"Tuesday"; - 如果week的值为3,输出"Wednesday"; - 如果week的值为4,输出"Thursday"; - 如果week的值为5,输出"Friday"; - 如果week的值为6,输出"Saturday"。 这样,我们就可以根据输入的日期输出对应的星期数了。如果输入的日期不合法,程序会输出"输入日期不合法"提示。注意,此程序没有考虑闰年因素。

相关推荐

用C语言栈结构实现:编程实现四则运算表达式的运算。 输入说明:通过控制台输入四则运算表达式,表达式不超过40个字符,以“=”作为结束符,例如:3 + 2 *(5+2)=。 输入假设:所有操作数均为正数。 输出说明:计算结果从控制台输出给用户,结果精确到小数点后2位。或者输出错误ERROR。 1、创建运算符优先级静态表,并实现运算符优先级查找函数Precede(x, y)。参数x,y是四则运算符,包括+、-、*、\、(、)、=。 2、应用Precede()函数,编写程序计算中缀表达式(一般表达式)的值。 三、问题分析 采用中缀表达式求解过程中,首先需要按照顺序读取数字和操作符,将它们分别保存。如果最先保存的操作符优先级不大于接下来保存的操作符,将一直不被调用指导上一级操作符被调用,满足先进后出的数据结构,所以用栈来保存操作符(本实验称之为符号栈)。对于保存的数字,每次调用操作符时,同时将最后保存的两位数字调用,满足先进后出的数据结构,所以用栈来保存操作符(本实验称之为数字栈)。运算先后由下一个操作符和栈顶操作符的优先级确定,当发现下一个符号的优先级小于栈顶符号的优先级,则需要先进行栈顶符号的运算,此时数字栈的最上面两个数字恰好是该符号的运算数。 测试用例 输入(2.3*4+1.6/2)*2.1-1.3+2.1*2= 输出 The result is:23.9

最新推荐

recommend-type

基于Yolov5的旋转检测

旋转检测 要求 torch==1.6 shapely==1.7.1 opencv==4.2.0.34
recommend-type

MATLAB 代码解决 Timothy Sauer 的教科书“数值分析”第三版中的两组计算机问题.zip

1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

SQL怎么实现 数据透视表

SQL可以通过使用聚合函数和GROUP BY子句来实现数据透视表。 例如,假设有一个销售记录表,其中包含产品名称、销售日期、销售数量和销售额等信息。要创建一个按照产品名称、销售日期和销售额进行汇总的数据透视表,可以使用以下SQL语句: ``` SELECT ProductName, SaleDate, SUM(SaleQuantity) AS TotalQuantity, SUM(SaleAmount) AS TotalAmount FROM Sales GROUP BY ProductName, SaleDate; ``` 该语句将Sales表按照ProductName和SaleDat
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。
recommend-type

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依
recommend-type

实现实时监控告警系统:Kafka与Grafana整合

![实现实时监控告警系统:Kafka与Grafana整合](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2pwZy9BVldpY3ladXVDbEZpY1pLWmw2bUVaWXFUcEdLT1VDdkxRSmQxZXB5R1lxaWNlUjA2c0hFek5Qc3FyRktudFF1VDMxQVl3QTRXV2lhSWFRMEFRc0I1cW1ZOGcvNjQw?x-oss-process=image/format,png) # 1.1 Kafka集群架构 Kafka集群由多个称为代理的服务器组成,这
recommend-type

使用vue3+elementsplus封装一个提示确认框的组件,要求将请求地址和确认框展示信息作为参数暴露出去

好的,下面是使用 Vue3 和 ElementPlus 封装一个提示确认框的组件,同时将请求地址和确认框展示信息作为参数暴露出去。 ```vue <template> <el-dialog title="确认提示" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" > <p>{{ message }}</p> <span slot="footer" class="dialog-footer"> <el-button @click="di