首页 > 其他分享 >2.3 函数与结构体 参考代码

2.3 函数与结构体 参考代码

时间:2023-07-25 14:56:22浏览次数:30  
标签:return noip 参考 int 代码 Student 2.3 include sum

P5735 [深基7.例1] 距离函数

#include <cstdio>
#include <cmath>
double distance(double x1, double y1, double x2, double y2) {
    return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}
int main()
{
    double x1, y1, x2, y2, x3, y3;
    scanf("%lf%lf%lf%lf%lf%lf", &x1, &y1, &x2, &y2, &x3, &y3);
    printf("%.2f\n", distance(x1, y1, x2, y2) + distance(x2, y2, x3, y3) + distance(x1, y1, x3, y3));
    return 0;
}

P5737 [深基7.例3] 闰年展示

#include <cstdio>
int ans[2000];
bool isLeap(int y) {
    return y % 400 == 0 || y % 4 == 0 && y % 100;
}
int main()
{
    int x, y;
    scanf("%d%d", &x, &y);
    for (int i = x; i <= y; ++i) {
        if (isLeap(i)) { ans[0]++; ans[ans[0]] = i;}
    }
    printf("%d\n", ans[0]);
    for (int i = 1; i <= ans[0]; ++i)
        printf("%d%c", ans[i], i == ans[0] ? '\n' : ' ');
    return 0;
}

P1304 哥德巴赫猜想

#include <cstdio>
bool is_prime(int x) {
	if (x < 2) return false;
	for (int i = 2; i * i <= x; i++) 
		if (x % i == 0) return false;
	return true;
}
void goldbach(int n) {
	for (int i = 2; i <= n / 2; i++)
		if (is_prime(i) && is_prime(n - i)) {
			printf("%d=%d+%d\n", n, i, n - i);
			return;
		}
}
int main()
{
	int n;
	scanf("%d", &n);
	for (int i = 4; i <= n; i += 2) goldbach(i);
	return 0;
}

P5744 [深基7.习9] 培训

#include <iostream>
#include <string>
using namespace std;
struct Student {
	string name;
	int age, noip;
	Student() {}
	Student(string s, int a, int n) {
		name = s; age = a; noip = n;
	}
};
Student train(Student s) {
	s.age++; s.noip = s.noip / 5 * 6;
	if (s.noip > 600) s.noip = 600;
	return s;
}
int main()
{
	int n; cin >> n;
	for (int i = 1; i <= n; i++) {
		string name; int age, noip;
		cin >> name >> age >> noip;
		Student one_student(name, age, noip);
		one_student = train(one_student);
		cout << one_student.name << " " << one_student.age << " " << one_student.noip << "\n";
	}
	return 0;
}

P5736 [深基7.例2] 质数筛

#include <cstdio>
bool isPrime(int x) {
    if (x < 2) return false;
    for (int i = 2; i * i <= x; ++i)
        if (x % i == 0) return false;
    return true;
}
int main()
{
    int n;
    scanf("%d", &n);
    for (int i = 0; i < n; ++i) {
        int x;
        scanf("%d", &x);
        if (isPrime(x)) printf("%d ", x);
    }
    return 0;
}

P5740 [深基7.例9] 最厉害的学生

#include <iostream>
#include <string>
using namespace std;
struct Info {
    string name;
    int chinese, math, english;
    void read() {
        cin >> name >> chinese >> math >> english;
    }
    int sum() {
        return chinese + math + english;
    }
    void print() {
        cout << name << " " << chinese << " " << math << " " << english << "\n";
    }
};
Info info[1005];
int main()
{
    int n;
    cin >> n;
    int ans = 1, sum = 0;
    for (int i = 1; i <= n; ++i) {
        info[i].read();
        if (info[i].sum() > sum) {
            sum = info[i].sum();
            ans = i;
        } 
    }
    info[ans].print();
    return 0;
}
  • 注意到题目中“语文、数学、英语成绩均为不超过 150 的自然数”,因此要考虑到输入的成绩可能最高分为 0 分的情况,可以将求最高分的变量初始值设成负数

P5741 [深基7.例10] 旗鼓相当的对手 - 加强版

#include <cstdio>
#include <cmath>
struct Info {
    char name[10];
    int s[4]; // s[0]: chinese, s[1]: math, s[2]: english, s[3]: sum 
};
Info a[1005];
bool check(int delta, int threshold) {
    return abs(delta) <= threshold;
}
bool near(int i, int j) {
    for (int k = 0; k < 3; k++) 
        if (!check(a[i].s[k] - a[j].s[k], 5)) return false;
    return check(a[i].s[3] - a[j].s[3], 10);
}
int main()
{
    int n;
    scanf("%d", &n);
    for (int i = 0; i < n; ++i) {
    	scanf("%s", a[i].name);
        a[i].s[3] = 0;
        for (int j = 0; j < 3; j++) {
            scanf("%d", &a[i].s[j]); a[i].s[3] += a[i].s[j];
        }
    }
    for (int i = 0; i < n; ++i)
        for (int j = i + 1; j < n; ++j)
            if (near(i, j)) printf("%s %s\n", a[i].name, a[j].name);
    return 0;
}

P5742 [深基7.例11] 评等级

#include <iostream>
#include <string>
using namespace std;
struct Student {
	int id, academic, quality;
	int overall;	//为了减小精度误差,此处overall为真实值的10倍
	Student() {}
	Student(int _id, int _ac, int _qu) {
		id = _id; academic = _ac; quality = _qu;
		overall = 7 * _ac + 3 * _qu;
	}
	int sum() {
		return academic + quality;
	}
	int is_excellent() {
		return overall >= 800 && sum() > 140;
	}
};
int main()
{
	int n; cin >> n;
	for (int i = 1; i <= n; i++) {
		int tmp_id, tmp_ac, tmp_qu;
		cin >> tmp_id >> tmp_ac >> tmp_qu;
		Student one_student(tmp_id, tmp_ac, tmp_qu);
		if (one_student.is_excellent()) cout << "Excellent\n";
		else cout << "Not excellent\n";	
	}
	return 0;
}

标签:return,noip,参考,int,代码,Student,2.3,include,sum
From: https://www.cnblogs.com/ronchen/p/17579850.html

相关文章

  • 测试写代码的好处
    在软件开发过程中,测试人员负责确保软件产品的质量,检查它们是否满足预定的需求并在各种环境下正常运行。虽然测试人员可以利用手工测试方法,但编写代码以进行自动化测试是必不可少的进阶技能。本文将阐述测试人员为什么需要编写代码,并探讨编写代码测试的好处。在软件测试过程中,有几......
  • 频繁FullGC的原因竟然是“开源代码”? | 京东云技术团队
    前言首先java语言的特性是不需像C和C++那样自己手动释放内存,因为java本身有垃圾回收机制(垃圾回收称为GC),顾名思义就是释放垃圾占用的空间,防止内存泄露。JVM运行时占用内存最大的空间就是堆内存,另外栈区和方法区也会占用空间但是占用有限本章就不探究了。那么堆中的空间又分为年轻代......
  • 天津同仁堂X伙伴云:如何“化整为零”落地数字化?有道有术有零代码
    张伯礼院士曾指出,中药制造的现代化水平,还停留在10%左右的阶段。中医药行业,老字号企业,该如何通过数字化焕发新活力?天津同仁堂通过与伙伴云合作,零代码构建数字化系统,让技术与思维共同成长,实现“提质、降本、增效”。天津同仁堂走进伙伴云【小伙开麦】直播间,探讨企业数字化的“道”与......
  • 2.2 字符串 参考代码
    P5733[深基6.例1]自动修正#include<cstdio>#include<cstring>chars[105];intmain(){scanf("%s",s);intlen=strlen(s);for(inti=0;i<len;++i){if(s[i]>='a'&&s[i]<='z......
  • 数据分享|SAS与eviews用ARIMA模型对我国大豆产量时间序列预测、稳定性、白噪声检验可
    全文链接:http://tecdat.cn/?p=31480最近我们被客户要求撰写关于ARIMA的研究报告,包括一些图形和统计输出。我国以前一直以来都是世界上大豆生产的第一大国。但由于各国的日益强大,导致我国豆种植面积和产量持续缩减。因此,预测我国的大豆产量对中国未来的经济发展有着极其重要的作......
  • PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素
    原文链接:http://tecdat.cn/?p=24346最近我们被客户要求撰写关于用户流失数据挖掘的研究报告,包括一些图形和统计输出。在今天产品高度同质化的品牌营销阶段,企业与企业之间的竞争集中地体现在对客户的争夺上“用户就是上帝”促使众多的企业不惜代价去争夺尽可能多的客户。但是企......
  • 工具 | Pycharm中调试服务器代码并且运行
    首先在pycharm中创建一个python的空项目project,删除main.py。1.配置远程服务器信息打开pycharm,选择Tools—>Deployment—>Configuration,点右上角的“+”添加服务器信息,服务器类型选择SFTP,name自己习惯起一个就行,然后点OK。接着配置一下连接信息,输入服务器的ip地址、用户......
  • 工具 | Pycharm中自己的项目代码不执行
    我的项目中使用了thumt的包,但是放在了自己的项目代码中,而且进行修改了,但是它不执行项目中修改的如果对thumt包进行了修改,但是在项目中并没有生效,可能是因为您在导入thumt包时使用了相对路径或者系统默认的搜索路径,而不是使用您修改后的thumt包。为了确保使用您修改后的thumt包,您......
  • 1.2.3 计算机系统的层次结构
    计算机系统的层次结构下层是上层的基础,上层是下层的扩展三种级别的语言注:编译、汇编、解释程序,可统称“翻译程序”......
  • 什么是静态代码分析?静态代码分析概述
    静态分析可帮助面临压力的开发团队。高质量的版本需要按时交付。需要满足编码和合规性标准。错误不是一种选择。 这就是开发团队使用静态分析工具/源代码分析工具的原因。在这里,我们将讨论静态分析和使用静态代码分析器的好处,以及静态分析的局限性。 什么是静态分析? 静态......