清览题库--C语言程序设计第五版编程题解析(1)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 速刷n题

题目一(中等)

求时刻时针和分针的夹角

常见的钟表一般都有时针和分针,在任意时刻时针和分针都形成一定夹角;现已知当前的时刻,编写程序求出该时刻时针和分针的夹角(该夹角大小≤180°)。当前时刻值输入格式为“小时:分”,例如:11:12。

输入用例:

11:12

输出用例:

96.00

作答

1.解题思路

观察时钟共有12个大的空隙,每个大的空隙之间有5个小的空隙,即用360°/12*5


推导出每分钟跨过的距离是6°


先推时针,由题目的输入用例可知,当11:12时,时针“正好”指在11的数字上,即走过11*5*6=330°。


再推分针,分针相对较为简单,12分即为12*6°=72°

但是,如果分针转动至12分处,时针必定也会相对偏转,不会正好指在11这个数字上,浅列个比例关系:12分时对应的72°/整个的360°=时针在11之后偏转的角度/每5分钟对应的角度5*6°=30°

推导出时针偏转至336°。

所以二者之间所差角度为360°-336°+72°

(我代码被删了,草)

2.代码

#include <stdio.h>

int main()

{

int h, m, n, p;

double z;//最后输出要求是浮点数,提前double

scanf_s("%d:%d", &h, &m);//正常情况下应用scanf,但VS2022本身不承认scanf,只承认scanf_s,据说是安全性的问题

p = m * 6;//分钟直接用输入的数字×每分钟对应的角度。

n = h * 5 * 6 + p * 30 / 360;//时针×每个大空隙每个大空隙中的小空隙对应的角度+通过比例求出的角度

z = 360 - n + p;//求角度差

printf("%.2lf", z);//输出时要求保留小数点后两位,通过.2实现

return 0;

}

附:答案

#include <stdio.h>

#include <math.h>

int main()

{

int h, m;

double a;

scanf( "%d:%d", &h, &m );

if ( h >= 0 && h <= 12 && m >= 0 && m <= 59 )

{

 double a1, a2; /* 时针和分针以0点为起点走过的角度 */

 a2 = m * 1.0 / 60 * 360;

 a1 = h * 1.0 / 12 * 360 + m * 1.0 / 60 * 30;

 a = fabs( a2 - a1 );

 a = a > 180 ? 360 - a : a;

 printf( "%.2lf", a );

}else

 printf( "input error" );

return(0);

}

题目二(简单)

求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积

设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。编写程序用scanf输入数据,输出计算结果;输出时要求有文字说明,取小数点后2位数字。

输入用例:

1.53 4.23

输出用例:

圆周长:9.61 圆面积:7.35 圆球表面积:29.40 圆球体积:14.99 圆柱体积:31.09


作答

1.解题思路

这个没啥解题思路,数学公式别记错就行。


2.代码

#include <stdio.h>

int main() {

 double r,h;

 double z = 3.14;

 scanf("%lf %lf",&r,&h);

 printf("圆周长:%0.2lf\n",2*z*r);

 printf("圆面积:%0.2lf\n",z*r*r);

 printf("圆球表面积:%0.2lf\n",4*z*r*r);

 printf("圆球体积:%0.2lf\n",(4*z*r*r*r)/3);

 printf("圆柱体积:%0.2lf\n",z*r*r*h);

}

附:答案

#include <stdio.h>

#define PI 3.14

int main()

{

double r, h, l, s, ss, qv, v;

scanf( "%lf%lf", &r, &h );

if ( r > 0 && h > 0 )

{

 l = 2 * PI * r;

 s = PI * r * r;

 ss = 4.0 * PI * r * r;

 qv = 4.0 / 3 * PI * r * r * r;

 v = PI * r * r * h;

 printf( "圆周长:%.2lf\n圆面积:%.2lf\n圆球表面积:%.2lf\n圆球体积:%.2lf\n圆柱体积:%.2lf\n", l, s, ss, qv, v );

}else

 printf( "input error" );

return(0);

}

目录
相关文章
|
2月前
|
存储 缓存 Java
Java 并发编程——volatile 关键字解析
本文介绍了Java线程中的`volatile`关键字及其与`synchronized`锁的区别。`volatile`保证了变量的可见性和一定的有序性,但不能保证原子性。它通过内存屏障实现,避免指令重排序,确保线程间数据一致。相比`synchronized`,`volatile`性能更优,适用于简单状态标记和某些特定场景,如单例模式中的双重检查锁定。文中还解释了Java内存模型的基本概念,包括主内存、工作内存及并发编程中的原子性、可见性和有序性。
Java 并发编程——volatile 关键字解析
|
2月前
|
存储 网络协议 编译器
【C语言】深入解析C语言结构体:定义、声明与高级应用实践
通过根据需求合理选择结构体定义和声明的放置位置,并灵活结合动态内存分配、内存优化和数据结构设计,可以显著提高代码的可维护性和运行效率。在实际开发中,建议遵循以下原则: - **模块化设计**:尽可能封装实现细节,减少模块间的耦合。 - **内存管理**:明确动态分配与释放的责任,防止资源泄漏。 - **优化顺序**:合理排列结构体成员以减少内存占用。
194 14
|
2月前
|
存储 算法 C语言
【C语言】深入浅出:C语言链表的全面解析
链表是一种重要的基础数据结构,适用于频繁的插入和删除操作。通过本篇详细讲解了单链表、双向链表和循环链表的概念和实现,以及各类常用操作的示例代码。掌握链表的使用对于理解更复杂的数据结构和算法具有重要意义。
765 6
|
2月前
|
存储 网络协议 算法
【C语言】进制转换无难事:二进制、十进制、八进制与十六进制的全解析与实例
进制转换是计算机编程中常见的操作。在C语言中,了解如何在不同进制之间转换数据对于处理和显示数据非常重要。本文将详细介绍如何在二进制、十进制、八进制和十六进制之间进行转换。
93 5
|
2月前
|
C语言 开发者
【C语言】断言函数 -《深入解析C语言调试利器 !》
断言(assert)是一种调试工具,用于在程序运行时检查某些条件是否成立。如果条件不成立,断言会触发错误,并通常会终止程序的执行。断言有助于在开发和测试阶段捕捉逻辑错误。
60 5
|
3月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
130 2
|
4月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
100 1
|
2月前
|
设计模式 存储 安全
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是"将对象的创建与使用分离”。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。创建型模式分为5种:单例模式、工厂方法模式抽象工厂式、原型模式、建造者模式。
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
|
2月前
|
存储 设计模式 算法
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。 行为型模式分为: • 模板方法模式 • 策略模式 • 命令模式 • 职责链模式 • 状态模式 • 观察者模式 • 中介者模式 • 迭代器模式 • 访问者模式 • 备忘录模式 • 解释器模式
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
|
2月前
|
设计模式 存储 安全
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。 结构型模式分为以下 7 种: • 代理模式 • 适配器模式 • 装饰者模式 • 桥接模式 • 外观模式 • 组合模式 • 享元模式
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析

热门文章

最新文章

推荐镜像

更多