谭浩强 C程序设计 8.2 求方程 的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。

#include<stdio.h>
#include<math.h>

int main()
{
    float a,b,c,q;
    void lianggegen(float a,float b,float q);
    void dangen(float a,float b,float q);
    void fushugen(float a,float b,float q);

    printf("输入 a b c 的值,以空格分隔:\n ");
    scanf("%f%f%f",&a,&b,&c);
    printf("\n");
    if(a==0)
        if(b==0)
            if(c==0)
                printf("方程的根是所有实数");
            else
            {printf("该方程无根\n");return 0;}
        else
        {printf("x=%.3f\n",-c/b);return 0;}
    q=b*b-4*a*c;
    if(q>0)
        lianggegen(a,b,q);  //
    else if(q==0)
            dangen(a,b,q);
        else
        fushugen(a,b,q) ;
        return 0;
}  

void lianggegen(float a,float b,float q)
{
    float x1,x2;
    x1=(-b+(float)sqrt(q))/(2*a);
    x2=(-b-(float)sqrt(q))/(2*a);
    printf("该方程有两个根,分别是: x1=%.3f and x2=%.3f\n",x1,x2);
}
void dangen(float a,float b,float q)
{
    float x;
    x=(float)(-b/(2*a));
    printf("该方程只有一个根, x=%.3f\n",x);
}
void fushugen(float a,float b,float q)
{
    float x,y;
    x=(float)(-b/(2*a));
    y=(float)sqrt(-q)/(2*a);
    printf("两个复数根分别是 x1=%.3f+%.3fi and x2=%.3f-%.3fi\n",x,y,x,y);
}  
时间: 2024-10-08 20:35:19

谭浩强 C程序设计 8.2 求方程 的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。的相关文章

谭浩强 C程序设计 8.5 写一个函数,使输入的一个字符串按返序存放

写一个函数,使输入的一个字符串按返序存放,在主函数中输入和输出字符串. #include <stdio.h> #include <string.h> int main(){ void reverse(char arr[]); char arr[50]; gets(arr); reverse(arr); for(int i=0; i< strlen(arr); i++){ printf("%3c",arr[i]); } printf("\n&quo

谭浩强 C程序设计 8.11写一函数用起泡法对输入的个字符按由小到大的顺序排列。

#include <stdio.h> int main(){ void maoPaoSort(char str[]); char arr[10]; printf("请输入10个字符:\n"); gets(arr);//gets回车不会在缓冲区中存着,scanf函数中,回车会存在缓冲区中 maoPaoSort(arr); for(int j=0; j<10; j++){ printf("%3c",arr[j]); } printf("\n&

01-初学总结之《谭浩强C程序设计》

注:个人针对于课本的易错点进行了相关的整理.整理的不专业,多多见谅. C语言中的易出错的点 这个笔记综合了 0. 常量&变量 常量 整型常量 -345,1000,0 实型常量 1)   十进制小数形式,-123.456 2)   指数形式-10.34E-12 字符常量 普通字符 一个字符,单撇号’ a’’Z’’?’’#’ 转义字符 表格0.1转移字符表 字符串常量 “123”   “boy” 符号常量 #define  PI  3.1415926 #define  PRINCE  40 //注意

谭浩强 c程序设计 8.17用递归法将一个整数n转换成字符串。例如,输入486,应输出字符串&quot;486&quot;。n的位数不确定,可以是任意位数的整数。

8.17用递归法将一个整数n转换成字符串.例如,输入486,应输出字符串"486".n的位数不确定,可以是任意位数的整数. #include <stdio.h> char str1[20];int i=0;long n;int main(){        int longToStr(long n);    char *revstr(char *str, int len);    printf("请输入一个整数n:\n");    scanf("

谭浩强 C程序设计 8.10写一函数,输入一行字符,将此字符串中最长的单词输出。

代码量稍微一大,就会出现bug,浪费很多时间,继续努力. #include <stdio.h> void main(){ void maxLen(char str[50]); char str[50]; gets(str); maxLen(str); } void maxLen(char str[50]){ int i,j=1,t=-1,start=0,m; int maxNum(int num[50]); int num[50]={0}; num[0]=-1;//num[1]放第一个单词的长

谭浩强 c++程序设计第一章课后习题 第7题

#include <iostream> using namespace std; int main() { int a,b,c; int f(int x,int y,int z);//这是函数的声明 //cin sonsole控制台 cout<<"请输入三个整数类型的数字:" <<endl; cin>>a>>b>>c; c=f(a,b,c);//abc有具体值,称为实际参数 cout<<c<<

谭浩强C程序设计(第四版)例题中的代码优化

eg:9.7 有n个结构体变量,内含学生学号,姓名和3门课成绩,要求输出平均成绩最高的学生的信息(内含学生学号,姓名和3门课成绩和平均成绩). 2015-01-2022:25:34 1 #include<stdio.h> 2 #define N 2 3 4 struct Student 5 { 6 int num; 7 char name[20]; 8 float score[3]; 9 float aver; 10 }; 11 12 void input(struct Student *st

谭浩强 c++程序设计第一章课后习题 第10题

#include <iostream> using namespace std; int main() { int a,b,c; cout<<"请输入三个整数类型的数字:" <<endl; cin>>a>>b>>c; void sort(int x,int y,int z); sort(a,b,c);//abc有具体值,称为实际参数 return 0; } void sort(int x,int y,int z)/

c++面向对象程序设计 谭浩强 第一章答案

c++面向对象程序设计 谭浩强 答案 第一章 第1章  C++?的初步知识 1.请根据你的了解,叙述C++?的特点.C++?对C有哪些发展? [解] 略. 2.一个C++的程序是由哪几部分构成的?其中的每一部分起什么作用? [解] 略. 3.从拿到一个任务到得到最终结果,一般要经过几个步骤? [解] 略. 4.请说明编辑.编译.连接的作用.在编译后得到的目标文件为什么不能直接运行? [解] 编译是以源程序文件为单位进行的,而一个完整的程序可能包含若干个程序文件,在分别对它们编译之后,得到若干个目