算法竞赛入门【码蹄集新手村600题】(MT1100-1120)C语言(一)

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 算法竞赛入门【码蹄集新手村600题】(MT1100-1120)C语言

码蹄集网站地址:https://www.matiji.net/exam/ojquestionlist


目录

MT1101 带参数的宏II

(1)题目

请编写一个简单程序,把f(x)=x*(x-1)定义成带参数的宏,从键盘输入a,b,将a+b的和作为宏实参计算并输出结果。


格式

输入格式:
输入整型,空格分隔。
输出格式:
输出为实型

样例1

输入:
3 5
输出:
56.000000

(2)参考代码

#include<stdio.h>
#define f(x) ((x)*((x)-1))
int main() 
{
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%lf\n", (double)f(a+b));
    return 0; 
}

MT1102 长方体

(1)题目

将长方体体积计算公式定义为宏。在主函数中输入长方体长、宽、高求体积。不考虑不合理的输入或是溢出等特殊情况。


格式

输入格式:
输入为实型(正数),空格分隔。
输出格式:
输出为实型

样例1

输入:
3 4 5
输出:
60.000000

(2)参考代码

#include<stdio.h>
#define VOLUME(x, y, z) ((x)*(y)*(z))
int main() 
{
    double x, y, z;
    scanf("%lf %lf %lf", &x, &y, &z);
    printf("%lf\n", VOLUME(x, y, z));
    return 0; 
}

MT1103 球体积

(1)题目

将球体积计算公式定义为宏。在主函数中输入半径求体积。


格式

输入格式:
输入为实型 
输出格式:
输出为实型

样例1

输入:
3.5
输出:
179.594228

(2)参考代码

#include<stdio.h>
#define PI 3.14159
#define VOLUME(r) (4.0/3.0*PI*(r)*(r)*(r))
int main() 
{
    double r;
    scanf("%lf", &r);
    printf("%lf\n", VOLUME(r));
    return 0; 
}

MT1104 三角形

(1)题目


格式

输入格式:
 输入为实型
输出格式: 
输出为实型

样例1

输入格式: 
3 4 5
输出格式: 
6.000000

(2)参考代码

#include<stdio.h>
#include <math.h>
#define Area(a, b ,c, s) (sqrt((s)*((s)-(a))*((s)-(b))*((s)-(c))))
int main() 
{ 
    double a, b, c, s;
    scanf("%lf %lf %lf", &a, &b, &c);
    s = (a + b + c) / 2;
    if (a+b>c && a+c>b && b+c>a)
    {
        printf("%lf", Area(a, b, c, s));
    }
    else
    {
        printf("%d", -1);
    }
    return 0; 
}

MT1105 英寸英尺英里

(1)题目

定义关于长度的宏,英寸/厘米、英尺/米、英里/公里,计算英制与公制单位转换,在主函数中输入数据输出计算结果。假定1英寸=2.54厘米、1英尺=0.31米、1英里=1.61公里。


格式

输入格式:
输入英寸、英尺、英里为实型,空格分隔。
输出格式:
输出厘米、米、公里为实型,空格分隔。保留2位小数。

样例1

输入:
1 1 1
输出:
2.54 0.31 1.61 

(2)参考代码

#include<stdio.h>
#define INCH_cm(x) ((x) * 2.54)
#define FEET_m(x) ((x) * 0.31)
#define MILE_km(x) ((x) * 1.61)
int main() 
{
    double a, b, c;
    scanf("%lf %lf %lf", &a, &b, &c);
    printf("%.2lf %.2lf %.2lf\n", INCH_cm(a), FEET_m(b), MILE_km(c));
    return 0; 
}

MT1106 盎司磅

(1)题目

定义关于重量的宏,盎司/克、磅/公斤,计算美制单位与公制转换,在主函数中输入数据输出计算结果。


格式

输入格式:
输入盎司、磅为实型,空格分隔
输出格式:
输出克、公斤实型,空格分隔。保留2位小数。

样例1

输入格式:
1 1
输出格式: 
28.35 0.45

(2)参考代码

#include<stdio.h>
#define oz_g(oz) ((oz)*28.35)
#define lb_kg(lb) ((lb)*0.45)
int main() 
{ 
    double oz, lb;
    scanf("%lf %lf", &oz, &lb);
    printf("%.2lf %.2lf", oz_g(oz), lb_kg(lb));
    return 0; 
}

MT1107 加仑/升

(1)题目

定义关于容量的宏,加仑/升,计算单位转换,在主函数中输入数据输出计算结果。


格式

输入格式:
输入加仑为实型。
输出格式:
输出升为实型,保留2位小数。

样例1

输入:
1
输出:
3.79 

(2)参考代码

#include<stdio.h>
#define GALLON_LITRE(x) ((x) * 3.79)
int main() 
{
    double x;
    scanf("%lf", &x);
    printf("%.2lf\n", GALLON_LITRE(x));
    return 0; 
}

MT1108 保留小数

(1)题目

将一个浮点型K数保留n(1≤n≤5)位小数(四舍五入)的算法定义为宏。在主函数中输入数据输出计算结果。


格式

输入格式:
输入k为实型,n为整数,空格分隔。
输出格式:
输出为实型

样例1

输入:
3.1415926 3 
输出:
3.142

(2)参考代码

#include<stdio.h>
#define ROUND_UP(k, n) printf("%.*lf", (n), (k))
int main() 
{
    double k;
    int n;
    scanf("%lf %d", &k, &n);
    ROUND_UP(k, n);
    return 0; 
}
相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
14天前
|
机器学习/深度学习 人工智能 算法
深度学习入门:理解神经网络与反向传播算法
【9月更文挑战第20天】本文将深入浅出地介绍深度学习中的基石—神经网络,以及背后的魔法—反向传播算法。我们将通过直观的例子和简单的数学公式,带你领略这一技术的魅力。无论你是编程新手,还是有一定基础的开发者,这篇文章都将为你打开深度学习的大门,让你对神经网络的工作原理有一个清晰的认识。
|
2月前
|
存储 算法 C语言
"揭秘C语言中的王者之树——红黑树:一场数据结构与算法的华丽舞蹈,让你的程序效率飙升,直击性能巅峰!"
【8月更文挑战第20天】红黑树是自平衡二叉查找树,通过旋转和重着色保持平衡,确保高效执行插入、删除和查找操作,时间复杂度为O(log n)。本文介绍红黑树的基本属性、存储结构及其C语言实现。红黑树遵循五项基本规则以保持平衡状态。在C语言中,节点包含数据、颜色、父节点和子节点指针。文章提供了一个示例代码框架,用于创建节点、插入节点并执行必要的修复操作以维护红黑树的特性。
68 1
|
2月前
|
C语言
C语言------程设设计入门
这篇文章是C语言程序设计的入门教程,涵盖了C程序的实现过程、VC集成开发环境的使用、基本数据类型的使用、格式控制字符的作用,以及通过示例代码演示了如何使用printf()函数输出不同类型的数据。
C语言------程设设计入门
|
2月前
|
机器学习/深度学习 人工智能 算法
AI入门必读:Java实现常见AI算法及实际应用,有两下子!
本文全面介绍了人工智能(AI)的基础知识、操作教程、算法实现及其在实际项目中的应用。首先,从AI的概念出发,解释了AI如何使机器具备学习、思考、决策和交流的能力,并列举了日常生活中的常见应用场景,如手机助手、推荐系统、自动驾驶等。接着,详细介绍了AI在提高效率、增强用户体验、促进技术创新和解决复杂问题等方面的显著作用,同时展望了AI的未来发展趋势,包括自我学习能力的提升、人机协作的增强、伦理法规的完善以及行业垂直化应用的拓展等...
160 3
AI入门必读:Java实现常见AI算法及实际应用,有两下子!
|
2月前
|
NoSQL Java 编译器
C语言从入门到精通该怎样学?
持续学习与实践:编程是一门需要不断学习和实践的技能,要保持对新技术和新知识的敏感性,并持续进行编程实践。
40 1
|
3月前
|
机器学习/深度学习 数据采集 人工智能
机器学习算法入门与实践
【7月更文挑战第22天】机器学习算法入门与实践是一个既充满挑战又极具吸引力的过程。通过掌握基础知识、理解常见算法、注重数据预处理和模型选择、持续学习新技术和参与实践项目,你可以逐步提高自己的机器学习技能,并在实际应用中取得优异的成绩。记住,机器学习是一个不断迭代和改进的过程,保持好奇心和耐心,你将在这个领域走得更远。
|
3月前
|
算法 Java
实战算法的基础入门(3)
实战算法的基础入门
|
2月前
|
存储 算法
【C算法】编程初学者入门训练140道(1~20)
【C算法】编程初学者入门训练140道(1~20)
|
3月前
|
编译器 C语言 C++
C++从遗忘到入门问题之C++持从C语言的过渡问题如何解决
C++从遗忘到入门问题之C++持从C语言的过渡问题如何解决
|
3天前
|
传感器 算法 C语言
基于无线传感器网络的节点分簇算法matlab仿真
该程序对传感器网络进行分簇,考虑节点能量状态、拓扑位置及孤立节点等因素。相较于LEACH算法,本程序评估网络持续时间、节点死亡趋势及能量消耗。使用MATLAB 2022a版本运行,展示了节点能量管理优化及网络生命周期延长的效果。通过簇头管理和数据融合,实现了能量高效和网络可扩展性。
下一篇
无影云桌面