《算法竞赛入门经典》第一章 程序设计入门 习题

习题1-1 平均数(average)
输入三个数,输出他们的平均值,保留3位小数。

#include <stdio.h>
int main() {
    double a, b, c;
    scanf("%lf%lf%lf", &a, &b, &c);
    printf("%.3lf", (a+b+c)/3);
    return 0;
}

习题1-2 温度(temperature)
输入华氏温度f,输出对应的摄氏温度c,保留3位小数。提示:c=5(f-32)/9。

#include <stdio.h>
int main() {
    double f;
    scanf("%lf", &f);
    printf("%.3lf", 5 * (f - 32) / 9);
    return 0;
}

习题1-3 连续和(sum)
输入正整数n,输出1+2+3+……+n的值。提示:目标是解决问题,而不是练习编程。

#include <stdio.h>
int main() {
    int n;
    scanf("%d", &n);
    printf("%d", (n + 1) * n / 2);
    return 0;
}

习题1-4 正弦和余弦(sincos)
输入正整数n(n<360),输出n度的正弦、余弦函数值。提示,使用数学函数。

#include <stdio.h>
#include <math.h>
#define pi acos(-1.0)
int main() {
    int degree;
    scanf("%d", &degree);
    printf("%.3lf\n", sin(1.0 * pi * degree / 180.0));
    printf("%.3lf\n", cos(1.0 * pi * degree / 180.0));
    return 0;
}

习题1-5 距离(distance)
输入4个浮点数x1,y1,x2,y2,输出平面坐标系中点(x1,y1)到(x2,y2)的距离。

#include <stdio.h>
#include <math.h>
int main() {
    double x1, y1, x2, y2;
    scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2);
    double dis = sqrt(pow(x1-x2, 2.) + pow(y1-y2, 2.));
    printf("%.3lf", dis);
    return 0;
}

习题1-6 偶数(odd)
输入一个整数,判断它是否为偶数。如果是,则输出"yes",否则输出"no"。提示:可以用多种方法判断。

#include <stdio.h>
#include <math.h>
int main() {
    double x1, y1, x2, y2;
    scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2);
    double dis = sqrt(pow(x1-x2, 2.) + pow(y1-y2, 2.));
    printf("%.3lf", dis);
    return 0;
}

习题1-7 打折(discount)
一件衣服95元,若消费满300元,可打八五折。输入购买衣服件数,输出需要支付的金额(单位:元),保留两位小数。

#include <stdio.h>
int main() {
    int n;
    scanf("%d", &n);
    printf("%.2lf", 95 * n >= 300 ? 95.0 * n * 0.85 : 95 * n);
    return 0;
}

习题1-8 绝对值(abs)
输入一个浮点数,输出他的绝对值,保留两位小数。

#include <stdio.h>
#include <math.h>
int main() {
    double f;
    scanf("%lf", &f);
    printf("%.2lf", fabs(f));
    return 0;
}

习题1-9 三角形(triangle)
输入三角形三边长度值(均为正整数),判断它是否能为三角形的三个边长。如果可以,则输出"yes",如果不能,则输出"no"。如果根本无法构成三角形,则输出"not a trangle"。

#include <stdio.h>
#include <algorithm>
int main() {
    int a[3];
    for (int i = 0; i < 3; i ++)
        scanf("%d", a + i);
    std::sort(a , a + 3);
    if (a[0] + a[1] <= a[2])
        puts("not a trangle");
    else if (a[0] * a[0] + a[1] * a[1] != a[2] * a[2])
        puts("no");
    else
        puts("yes");
    return 0;
}

习题1-10 年份(year)
输入年份,判断是否为闰年。如果是,则输出"yes",否则输出"no"。提示,简单的判断除以4的余数是不够的。

#include <stdio.h>
#include <algorithm>
int main() {
    int year;
    scanf("%d", &year);
    puts(year%400==0 || year%100!=0 && year%4==0 ? "yes" : "no");
    return 0;
}
时间: 2024-12-21 02:11:52

《算法竞赛入门经典》第一章 程序设计入门 习题的相关文章

【php学习】PHP 入门经典第一章笔记

第一章: php在线手册:http://php.net/manual/zh/index.php 在开始学习PHP之前,先来看一个合格的PHP程序员今后应具备哪些知识,这里只是笔者的一些总结,希望对读者接下来的学习有所帮助. 从广泛意义上讲,PHP程序员仅掌握PHP是不够的,需要在学习PHP的过程中掌握更多的知识,这样才能开发出更好.更完善的软件.在前台页面设置过程中需要掌握HTML.DIV.CSS.Javascript脚本等:在程序安全上需要掌握服务器基本的配置知识.安全过滤权限等:在程序优化和

《算法竞赛入门经典第二版》 P35 习题2-4 子序列的和(subsequence)

/* <算法竞赛入门经典第二版> P35 习题2-4: 输入两个正整数 n < m < 10^6,输出 (1/n)^2 + 1/(n+1)^2 +……+ 1/m^2,保留5位小数. 输入包含多组数据,结束标志为 m=n=0. 有错欢迎指出^_^ */ #include<stdio.h> int main() { int m,n,i,j=1; while(scanf("%d%d",&m,&n) != EOF) { double sum

第一章 快速入门

C++ Primer 中文版,第4版 /* 第一章 快速入门第二章 变量和基本类型第三章 标准库类型第四章 数组和指针第五章 表达式第六章 语句第七章 函数第八章 标准IO库第九章 顺序容器第十章 关联容器第11章 泛型算法 第12章 类 第13章 复制控制 第14章 重载操作符与转换第15章 面向对象编程第16章 模板和泛型编程第17章 用于大型程序的工具第18章 特殊工具与技术 */ /* 第一部分:基本语言------------------------------------------

jquery基础教程 - 第一章 JQUERY入门

Jquery基础教程 - 第一章 JQUERY入门 内容提要 1.jquery能做什么 2.jquery为什么如此出色 3.第一个jquery驱动的页面 4.纯javascript与jquery 5.开发工具 6.小结 1.jquery能做什么 取得文档中的元素 -- jQuery为准确的获得需要检查或操纵的文档元素,提供了可靠而富有效率的选择符机制. 找到所有应用了.content class样式的div中所有的P标签             $('div.content').find('p'

第一章 Qt入门

现在自己开始学习Qt了,参考资料是C++ GUI Qt4编程 准备做一系列的学习笔记,也算帮助自己学习吧,希望自己能坚持下去. 1.先来一段程序代码,当然是鼎鼎大名的Hello Qt 1 #include <QApplication> 2 #include <QLabel> 3 4 int main(int argc, char** argv) 5 { 6 QApplication app(argc, argv); 7 //QLabel *label = new QLabel(&q

Java Persistence with MyBatis 3(中文版) 第一章 MyBatis入门

本章将涵盖以下话题: ž  MyBatis是什么? ž  为什么选择MyBatis? ž  MyBatis安装配置 ž  域模型样例 1.1 MyBatis是什么 MyBatis是一个简化和实现了Java数据持久化层(persistencelayer)的开源框架,它抽象了大量的JDBC冗余代码,并提供了一个简单易用的API和数据库交互. MyBatis的前身是iBATIS,iBATIS于2002年由ClintonBegin创建.MyBatis 3 是iBATIS的全新设计,支持注解和Mapper

【算法竞赛入门】【第一章】课后习题

今天心血来潮,决定将<算法竞赛入门经典>里面的课后题,进行详解,先来第一发. 习题1-1 平均数(average) 对于第一题,相信即便是第一次接触编程的人.只要稍稍了解一下C的语法,也可轻易解决这一题.所以我也不多说了直接上代码. #include <stdio.h> int main() { int a, b, c; while(scanf("%d%d%d",&a,&b,&c)!=EOF){ printf("%.3lf\n&

java基础 第一章 对象入门

第1章 对象入门 "为什么面向对象的编程会在软件开发领域造成如此震憾的影响?" 面向对象编程(OOP)具有多方面的吸引力.对管理人员,它实现了更快和更廉价的开发与维护过程.对分析与设计人员,建模处理变得更加简单,能生成清晰.易于维护的设计方案.对程序员,对象模型显得如此高雅和浅显.此外,面向对象工具以及库的巨大威力使编程成为一项更使人愉悦的任务.每个人都可从中获益,至少表面如此. 如果说它有缺点,那就是掌握它需付出的代价.思考对象的时候,需要采用形象思维,而不是程序化的思维.与程序化设

zabbix专题:第一章 zabbix入门简介(更新中)

zabbix入门简介 备注:本章节图片来自互联网 对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本节目录大纲 zabbix专题:第一章 zabbix简介 我们为什么需要监控? 常用的开源监控系统有哪些? Zabbix是什么? Zabbix的功能和特性 Zabbix的架构 Zabbix的工作流程 zabbix的进程 zabbix的逻辑关系图 zabbix监控环境中相关术语 zabbix的流程图,其串联了各术语之间的关系 zabbix的监控架构 zabbix专题:第一章 zabb