航空航天大类C语言程设第二次上机练习

本文详细解析了几个C语言上机练习题目,包括浮点数处理、单项式求积、圆与直线关系判断、质数判断、鸡兔同笼问题以及区间质数筛选等。通过实例代码讲解了算法思路和实现方法,帮助读者理解和掌握C语言编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

航空航天大类C语言程设第二次上机练习


第二期更新,主要是第二次上机和练习赛的内容。

Q1(上机A题)一个非负的浮点数(小数部分不超过六位),输出它的小数部分(六位小数保留)和整数部分(空格隔开)

这个题只要稍微熟悉一下变量声明就很好做了,注意给的是非负浮点数,所以少了个坑(狗头)
先给出代码

#include <stdio.h>
int main() {
	double x;
	scanf("%lf", &x);
	int n = x;
	double y = x - n;
	printf("%d %.6lf", n, y);
	return 0;
}

这里x是double类型,而之后n是int类型,把x的值赋给n,会涉及类型转换,这种方式浮点数转整数直接抹去小数部分保留整数部分,所以转换整型不同于取整函数。
不妨看下面两个例子:

int a = 2.333;
int b = -2.333;
#输出a和b的值
2 -2

对于正数,相当于 ⌊ x ⌋ \lfloor{x}\rfloor x,取不大于 x x x的最大整数,但对于负数,相当于 ⌈ x ⌉ \lceil{x}\rceil x,取大于 x x x的最小整数,所以说不说明数的正负形坑就出来了吧。

Q2(上机C题)
单项式求积:有多个单项式项式 A i A_{i} Ai A i = k i × x p i A_i=k_i \times x^{p_i} Ai=ki×xpi,已知 k i k_{i} ki p i p_{i} pi,需要求这些单项式的乘积,并表达成一个简单的单项式形式 k × x p k \times x ^ p k×xp,,输出形式为k*x^p,其中 k k k p p p为整数。

输入描述,连续多行
每行两个数,用空格分隔,分别为 k i k_i ki, p i p_i pi
如果某一行两个数的值为0 0,则代表结束输入

单项式相乘,系数相乘,指数相加, ∏ i = 1 n A i = ( ∏ i = 1 n k i ) × x ∑ i = 1 n p i \prod_{i=1}^{n}A_{i} = (\prod_{i=1}^nk_i) \times x^{\sum_{i=1}^{n}p_{i}} i=1nAi=(i=1nki)×xi=1npi
k k k, p p p的初值设为1和0,每次读入合法的 k i k_i ki p i p_i pi就用赋值运算符+=*=更新 k k k, p p p的值,最后格式化输出

代码:

#include <stdio.h>
int main() {
	int k = 1, p = 0, ki, pi;
	while (1) {
		scanf("%d %d", &ki, &pi);
		if (ki == 0 && pi == 0) break;
		else {
			k *= ki, p += pi;
		}
	}
	printf("%d*x^%d", k, p);
	return 0;
}

输入样例:

3 5
6 10
0 0

输出样例:

18x^15

Q3(上机F题)
输入一个圆的圆心坐标 ( x , y ) (x,y) (x,y),和半径 r r r,再给出一条直线方程 A x +

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值