航空航天大类C语言程设第三次练习赛

航空航天大类C语言程设第三次练习赛


第四期更新, 鸽子博主终于更新第三次练习赛了
(A题)求区间交并集
多行数据,每行有两个数,用空格分开,表示每个区间的下和上界,保证是合法的非空集,而且得到的并集是一个连续的区间。

输入样例:

1 3
1 2
-1 5

输出样例:

1 2
-1 5

样例图示:
maSfPO.png
  思路很简单,最开始的区间作为初始交并区间,每读入一个区间:求并集,左端点的最小值和右端点的最大值作为并集端点;求交集,左端点最大值和右端点最小值作为交集端点,注意如果右端点的最小值大于等于左端点最大值,说明为空集直接退出输出空集。

#include<stdio.h>

int max(int x, int y) {
   
	return x > y ? x : y;
}

int min(int x, int y) {
   
	return x < y ? x : y;
}

int main() {
   
	int x, y, a, b, c, d;	//a,b为交集的左右端点,c,d为并集左右端点
	scanf("%d%d", &x, &y);
	a = x, c = x, b = y, d = y;
	while (~scanf("%d%d", &x, &y)) {
   
		a = max(a, x);
		b = min(y, b);
		c = min(c, x);
		d = max(y, d);
	}
	if (a >= b) puts("Empty%0.9f\\?");	
	//有一个小坑(来自出题人的恶意,有一个转义符,注意到了吧)
	else printf("%d %d\n", a, b);
	printf("%d %d", c, d);
	return 0;
}



(B题)
一行字符串,里面含有若干个元音字母,将里面的元音字母顺序反转并输出

输入:共两行。
第一行为正整数n,代表字符串的长度( 1 ≤ n ≤ 100 1 \le n \le 100 1n100),保证全为小写字母
第二行为字符串,里面含有若干个元音字母 (至少含有一个元音字母)。

输出:一行反转元音字母顺序的字符串

输入样例:

5
apple

输出样例:

eppla

万能数组大法知道字符串长度,开一个存储元音字母的数组,先逆序遍历字符串,如果读到元音字母就顺序存入存储用数组,并用一个开关数组,字符串位置标记为1,表明这个位置是元音字母。再顺序遍历0~n-1的位置,如果对应开关为1,是元音字母,输出存储的元音字母,不是就正常输出原字符串的字母。

#include<stdio.h>
char word[101], v[101];
int f[101];

int vowel(char a) {
   
	if (a == 'a' || a == 'e' || a == 'i' || a == 'o' || a == 'u') return 1;
	else return 0;
}

int main() {
   
	int n, i, j = 0;
	scanf("%d", &n);
	scanf("%s", word);
	for (i = n - 1; i >= 0; i--) {
   
		if (vowel(word[i])) {
   
			v[j] = word[i];
			j++;
			f[i] = 1;
		}
	}
	j = 0;
	for (i = 0; i < n; i++) {
   
		if (f[i]) {
   
			printf("%c", v[j]);
			j++;
		}
		else printf("%c", word[i]);
	}
	return 0;
}



(C题)中二不堪的题目描述
2333年,X国和Y国在进行关于人类和平的国际会谈,充满阴谋的X国却没有谈判的诚心,Y国间谍得知重要的武器文件存放在四角大楼,出于正义,Y国决定发射零伤亡武器Zero,销毁武器文件。

由于X国守备重重,Y国仅有三名间谍在四角大楼执行任务,巧妙的是,三名间谍的位置距离重要武器文件恰好相同!且三人不在同一直线上。

情况紧急,三名间谍仅能传回三人的坐标 ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) (x1,y1) ,(x2,y2),(x3,y3) (x1,y1),(x2,y2),(x3,y3),假设三人在六角大楼的位置可以在一个 x O y xOy xOy平面上。

输入
第一个,两个实数 x 1 , y 1 x_1,y_1 x1,y1
第二个,两个实数 x 2 , y 2 x_2,y_2 x2,y2
第三个,两个实数 x 3 , y 3 x_3,y_3 x3,y3
输出
共一行,为武器文件所在的位置,格式为 ( O x , O y ) (Ox,Oy) (Ox,Oy)保留2位小数。

输入样例

1.0 0.0
-1.0 0.0
0.0 1.0

输出样例

(0.00,0.00)

  就是求这个三角形的外心坐标(三角形外接圆的圆心,三边中垂线的交点,到三顶点等距),外心坐标公式推荐阅读博文(有详细推导,排版也比较好看):
三角形的外心公式及推导

  都是带学生行列式肯定能看懂,这个题就是公式麻烦,写代码时注意写对,我觉得也没有人想写行列式展开后的式子
公式贴出:
O x = ∣ x 2 2 − x 3 2 + y 2 2 − y 3 2 2 y 2 − y 3 x 3 2 − x 1 2 + y 3 2 − y 1 2 2 y 3 − y 1 ∣ ∣ x 2 − x 3 y 2 − y 3 x 3 − x 1 y 3 − y 1 ∣ , O y = ∣ x 2 − x 3 x 2 2 − x 3 2 + y 2 2 − y 3 2 2 x 3 − x 1 x 3 2 − x 1 2 + y 3 2 − y 1 2 2 ∣ ∣ x 2 − x 3 y 2 − y 3 x 3 − x 1 y 3 − y 1 ∣ Ox=\frac{\begin{vmatrix} \frac{x^2_2-x^2_3+y^2_2-y^2_3}{2} &amp; y_2-y_3 \\ \frac{x^2_3-x^2_1+y^2_3-y^2_1}{2} &amp; y_3-y_1 \end{vmatrix}}{\begin{vmatrix} x_2-x_3 &amp; y_2-y_3 \\ x_3-x_1 &amp; y_3-y_1 \end{vmatrix}},Oy=\frac{\begin{vmatrix} x_2-x_3 &amp; \frac{x^2_2-x^2_3+y^2_2-y^2_3}{2} \\ x_3-x_1 &amp; \frac{x^2_3-x^2_1+y^2_3-y^2_1}{2} \end{vmatrix}}{\begin{vmatrix} x_2-x_3 &amp; y_2-y_3 \\ x_3-x_1 &amp; y_3-y_1 \end{vmatrix}} Ox=x2x3x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值