c语言程序编写:求方程式a*x*x+b*x+c=0的根。分别考虑:1、有两个不等实根 2、有两个相等实根


以下是用 C 语言编写的求解上述方程根的程序: ```c #include <stdio.h> #include <math.h> // 计算方程根的函数 void solveEquation(double a, double b, double double c) { double discriminant = b * b - 4 * a * c; // 计算判别式 if (discriminant > 0) { // 有两个不等实根 double root1 = (-b + sqrt(discriminant)) / (2 * a); double root2 = (-b - sqrt(discriminant)) / (2 * a); printf("方程有两个不等实根:%.2f 和 %.2f\n", root1, root2); } else if (discriminant == 0) { // 有两个相等实根 double root = -b / (2 * a); printf("方程有两个相等实根:%.2f\n", root); } else { // 没有实根 printf("方程没有实根\n"); } } int main() { double a, b, c; printf("请输入 a 的值:"); scanf("%lf", &a); printf("请输入 b 的值:"); scanf("%lf", &b); printf("请输入 c 的值:"); scanf("%lf", &c); solveEquation(a, b, c); return 0; } ``` 额外需要注意的逻辑点: 1. 输入的系数值要保证合理性,避免除以 0 等错误。 2. 对于输出的根,要根据精度需求进行合理的格式化。 3. 考虑对输入的异常值(如非数字)进行处理,增强程序的健壮性。 [2024-12-12 22:09:28 | AI写代码神器 | 409点数解答]
- c++程序:给定六个正整数 h 1 , h 2 , h 3 h 1 ,h 2 ,h 3 以及 w 1 , w 2 , w 3 w 1 ,w 2 ,w 3 ,请构造出一个 3 × 3 3×3 的正整数方阵,使得: 方阵内的数均为正整数; 对于上起第 i i 行中的三个整数,满足:它们的和与 h i h i 相等; 对于左起第 i i 列中的三个整数,满足:它们的和与 w i w i 相等。 请求出满足条件的构造方案数。 输入 输入第一行包含六个正整数 h 1 , h 2 , h 3 , w 1 , w 2 , w 3 h 1 ,h 2 ,h 3 ,w 1 ,w 2 ,w 3 ( 3 ≤ h 1 , h 2 , h 3 , w 1 , w 2 , w 3 ≤ 3 0 ) (3≤h 1 ,h 2 ,h 3 ,w 1 ,w 2 ,w 3 ≤30) 。 输出 输出一个整数代表方案数。(875点数解答 | 2024-11-13 16:38:24)129
- 写一个时间复杂度小的c++程序:给定六个正整数 h 1 , h 2 , h 3 h 1,h 2,h 3以及 w 1 , w 2 , w 3 w 1,w 2,w 3,请构造出一个 3 × 3 3×3 的正整数方阵,使得: 方阵内的数均为正整数; 对于上起第 i i 行中的三个整数,满足:它们的和与 h i h i相等; 对于左起第 i i 列中的三个整数,满足:它们的和与 w i w i相等。 请求出满足条件的构造方案数。 输入 输入第一行包含六个正整数 h 1 , h 2 , h 3 , w 1 , w 2 , w 3 h 1,h 2,h 3,w 1,w 2,w 3( 3 ≤ h 1 , h 2 , h 3 , w 1 , w 2 , w 3 ≤ 3 0 ) (3≤h 1,h 2,h 3,w 1,w 2,w 3≤30) 。 输出 输出一个整数代表方案数。(708点数解答 | 2024-11-13 16:45:15)163
- 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过: 更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。 返回 k(149点数解答 | 2024-10-08 23:07:36)132
- 使用继承,实现“剪刀石头布的游戏”。 小时候很喜欢玩一个游戏,“剪刀石头布”,可以是出拳的形式,或跳格子的形式。现在我们用计算机来玩这个游戏。 电脑用随机数产生剪刀石头布,游戏玩家用输入1,2,3的方式出拳。 游戏玩家输入1或2或3,分别 代表剪刀(1)石头(2)布(3)。 电脑胜出时,显示"winner is computerplayer." 游戏玩家胜出时,显示“winner is personplayer.” 平局时显示"a draw." 函数接口定义: 根据主方法内容,实现三个类的定义,分别是是computerplayer、personplayer、game类。 其中computerplayer、personplayer要继承player类。 根据主方法中的用法,实现game类。 裁判测试程序样例: import java.util.scanner; class player{ string name; player(string name){ this.name = name; } int show() { //出拳方法(451点数解答 | 2024-10-20 19:57:58)283
- python代码案例需求:模拟一个大鱼吃小鱼游戏的过程。 (1)玩家鱼和敌人鱼,玩家鱼初始大小为1,敌人鱼随机出现,一次屏幕至多出现10条敌人鱼,等级一级到五级 不等 (2)玩家鱼可以自由控制移动,敌人鱼默认屏幕从右到左游过 (3)玩家鱼可以吞下等级比它当前要小的敌人鱼完成进化游戏过程中玩家鱼如果吞吃了等级比它大的会死亡 (4)一级鱼积分为1,二级鱼积分为2,三级鱼积分为3,四级鱼积分为4,五级鱼积分为5 (5)玩家初始积分为1,积分0~3范围内只能吞吃一级鱼,大于3可以吞吃二级鱼,大于7可以吞吃三级鱼,大于12可以吞吃四级鱼,大于20可以吞吃五级鱼。 (6)敌人鱼或者玩家鱼被吞吃的时候记得回收资源,避免占太多内存 游戏过程如下: 创建玩家角色-->随机出现10条敌人鱼-->玩家移动-->碰撞检测-->判断等级是否可以吞吃 -->如果还活着继续-->玩家移动-->碰撞检测-->判断。。挂了没(390点数解答 | 2024-05-31 11:45:36)164
- python 案例需求:模拟一个大鱼吃小鱼游戏的过程。 (1)玩家鱼和敌人鱼,玩家鱼初始大小为1,敌人鱼随机出现,一次屏幕至多出现10条敌人鱼,等级一级到五级 不等 (2)玩家鱼可以自由控制移动,敌人鱼默认屏幕从右到左游过 (3)玩家鱼可以吞下等级比它当前要小的敌人鱼完成进化游戏过程中玩家鱼如果吞吃了等级比它大的会死亡 (4)一级鱼积分为1,二级鱼积分为2,三级鱼积分为3,四级鱼积分为4,五级鱼积分为5 (5)玩家初始积分为1,积分0~3范围内只能吞吃一级鱼,大于3可以吞吃二级鱼,大于7可以吞吃三级鱼,大于12可以吞吃四级鱼,大于20可以吞吃五级鱼。 (6)敌人鱼或者玩家鱼被吞吃的时候记得回收资源,避免占太多内存 游戏过程如下: 创建玩家角色-->随机出现10条敌人鱼-->玩家移动-->碰撞检测-->判断等级是否可以吞吃 -->如果还活着继续-->玩家移动-->碰撞检测-->判断。。挂了没(767点数解答 | 2024-05-31 11:50:29)186
- 一、试编写以下类(请注意各成员的权限修饰符,请尝试测试各权限修饰符的作用): 1.建包gc,有以下两个类: (1)公共测试类test_inherit,要求: 生成一个教师:张老师,35岁,女,副教授,打印输出其信息;修改职称为“教授”,再输出信息 生成一个学生:张恒,19岁,男,工程技术学院,打印输出其信息;修改school为“湖北工业大学工程技术学院”,并再次输出信息。 (2)父类person:姓名、年龄、性别(思考1:如果不允许将属性设置为public,那么此处设置为何种权限比较合适;思考2:将属性设置成私有的是否合适?)。 方法: ① 构造方法:要求:两个。一个无形参;一个有形参,利用形参为其成员赋值。 ② 设置及获取姓名、年龄、性别的方法。 ③ 方法info():打印输出姓名、年龄、性别的方法。 2.包gc.zg,有类teacher:继承自person,增加私有成员变量“职称”rank。 方法: ① 构造方法:为姓名、年龄、性别、职称赋值。 ② 重写父类方法info:打印输出教师的所有信息,其中姓名、年龄和性别可调用父类的info()方法,体会继承的好处。(思考:该方(745点数解答 | 2024-10-16 18:40:42)257
- 向一个空栈压入正整数,每当压入一-个整数时,执行以下规则(设:栈顶至栈底整数依次编号为n1,n2,...,nx…,其中n1,为最新压入的整数) 1.如果n1 = n2,则n1、 n2全部出栈,压入新数据m = 2n1 2.如果n1 = n2 + ...+ ny (y ∈[3,x]),则 n1,n2,...,ny全部出栈,压入新数据 m(m= 2n1). 3.如果上述规则都不满足,则不做操作。 输入格式 一行字符串,包含使用单个空格隔开的正整数,如 “5 6 7 8”,左边的数字先入栈。 输出格式 最终栈中存留的元素值,元素值使用单个空格隔开,如 “8 7 6 5”,从左至右依次为栈顶至栈底的数字。 以“10 20 50 80 1 1”为例,依次压入“10” “20” “50” 都不满足规则一和二,当压入“80”时,判断出80=10+20+50,满足规则二,于是 10 20 50 80 全部出栈,压入m=2*80=160。压入两个“1”,压入第二个“1”时,发现满足规则一,两个“1”出栈,压入m=2*1=2。(24点数解答 | 2024-10-28 18:51:00)186
- 你见过闪电吗?闪电经常以耀眼的姿势一闪而过。夜里,小南走在回宿舍路上,本是宁静的夜色,猛地一道闪电,闪耀而过。回到宿舍,小南突然很想用代码记下闪电的模样,聪明的你能帮帮他吗? 输入 多组样例。每行一个样例包含一个正整数 n,表示闪电的大小(0<n≤100)。 输出 对于每一个输入的n,输出对应一个大小的闪电,闪电由*组成,两个*之间没有空格。每个输出占一行或者多行,并且每一个闪电后有一行空行。具体输出格式请参考样例。用c语言(256点数解答 | 2024-11-09 17:42:45)127
- 你见过闪电吗?闪电经常以耀眼的姿势一闪而过。夜里,小南走在回宿舍路上,本是宁静的夜色,猛地一道闪电,闪耀而过。回到宿舍,小南突然很想用代码记下闪电的模样,聪明的你能帮帮他吗? 输入 多组样例。每行一个样例包含一个正整数 n,表示闪电的大小(0<n≤100)。 输出 对于每一个输入的n,输出对应一个大小的闪电,闪电由*组成,两个*之间没有空格。每个输出占一行或者多行,并且每一个闪电后有一行空行。具体输出格式请参考样例。用c语言(1026点数解答 | 2024-11-09 17:43:30)162
- 作为golang开发,golang中如何比较两个 map 相等?(432点数解答 | 2023-11-09 18:11:21)245
- # 「alfr round 3」b swap & delete ## 题目背景 [english statement](https://www.luogu.com.cn/problem/u517304). you must submit your code at the chinese version of the statement. ## 题目描述 给定一个长为 $n$ 的序列 $a_1, a_2,a_3, \dots ,a_n$,你需要执行 $k$ 次操作使这个序列为空。 每次操作可以执行下列内容之一: 1. 选择两个数 $i, j$,交换 $a_i, a_j$(需要满足 $1 \le i < j \le n$)。 2. 选择两个数 $i, j$,删除 $a_i,a_{i+1}, \dots ,a_j$(需要满足 $1 \le i \le j \le n$,且 $a_i = a_j$)。 请输出最小的操作数 $k$。 ## 输入格式 第一行输入一个正整数 $t$($1 \le t \le 5$),表示有 $t$ 个测试数据。 对于每个测试数据: 第一行输入一个正整数 $n$($1 \le n \le 10^5$),表示序列长度为 $n$。 第二行输入 $n$ 个正整数 $a_1,a_2 \dots a_n$($0 \le a_i \le 10^9$)。 ## 输出格式 对于每个测试数据输出一个正整数 $k$,表示最少的操作次数。 ## 样例 #1 ### 样例输入 #1 ``` 2 5 1 2 3 2 3 3 1000000000 1000000000 99999999 ``` ### 样例输出 #1 ``` 2 2 ``` ## 提示 ### 数据范围 | 子任务 | 分值 | 限制 | | :----------: | :----------: | :----------: | | $1$ | $10$ | $n\le 3$ | | $2$ | $20$ | $n\le 10$ | | $3$ | $20$ | $a_i\le 2$ | | $4$ | $10$ | 保证所有 $a_i$ 相等 | | $5$ | $40$ | - | 对于 $100\%$ 的数据,$1\le t \le 5$,$1\le n\(637点数解答 | 2024-12-21 14:56:50)209