精华内容
下载资源
问答
  • c语言中有很多有趣程序,以下是百分网小编分享给大家如何判断三角形类型c语言小程序,欢迎阅读!#include#include#define EPSINON 1e-3#define ABS(a) (((a)>0)?(a):(-a)) //?:不支持表达式嵌套#define ...

    引导语;c语言中有很多有趣的小程序,以下是百分网小编分享给大家的如何判断三角形类型的c语言小程序,欢迎阅读!

    #include

    #include

    #define EPSINON 1e-3

    #define ABS(a) (((a)>0)?(a):(-a)) //?:不支持表达式嵌套

    #define ZERO(x) ((x)>-EPSINON && (x)

    #define MAX(a,b) (((a)>(b))?(a):(b))

    #define MIN(a,b) (((a)

    float a, b, c;

    float max, mid, min;

    char input_err_flag = 0;

    char judge_err_flag = 0;

    int equal(float a, float b)

    {

    float tmp;

    tmp = a - b;

    tmp = ZERO(ABS(tmp));

    return tmp;

    }

    void input(void)

    {

    a = b = c = 0;

    printf("输入三条边的值:");

    scanf("%f %f %f",&a, &b, &c);

    if(!(a>0) || !(b>0) || !(c>0))

    {

    input_err_flag = 1;

    }

    }

    void sort(void)

    {

    max = MAX(MAX(a,b),c);

    min = MIN(MIN(a,b),c);

    if(MAX(a,b) < c)

    mid = MAX(a,b);

    else

    mid = MAX(MIN(a,b),c);

    }

    void judge(void)

    {

    float max_square, mid_square, min_square, tmp;

    if(max >= (mid+min))

    {

    judge_err_flag = 1;

    }

    else

    {

    max_square = max * max;

    mid_square = mid * mid;

    min_square = min * min;

    tmp = mid_square + min_square;

    if(equal(mid,min) || equal(max, mid))

    {

    if(equal(mid, min))

    {

    if(mid == max)

    puts("等边三角形。");

    else if(equal(max_square, tmp))

    puts("等腰直角三角形。");

    else if(max_square < tmp)

    puts("等腰锐角三角形。");

    else

    puts("等腰钝角三角形。");

    }

    else

    {

    if(equal(min, mid))

    puts("等边三角形。");

    else

    puts("等腰锐角三角形。");

    }

    }

    else if(equal(max_square, tmp))

    puts("直角三角形。");

    else if(max_square < tmp)

    puts("锐角三角形。");

    else

    puts("钝角三角形。");

    }

    }

    int main(void)

    {

    char cs, ch;

    do

    {

    input();

    sort();

    judge();

    if(input_err_flag)

    {

    input_err_flag = 0;

    while((cs=getchar())!='n' && (cs=getchar())!=EOF);

    printf("输入错误,a b c必须大于零,是否新输入(y/n):");

    }

    else if(judge_err_flag)

    {

    judge_err_flag = 0;

    while((cs=getchar())!='n' && (cs=getchar())!=EOF);

    printf("组不成三角形,是否重新输入(y/n):");

    }

    else

    {

    while((cs=getchar())!='n' && (cs=getchar())!=EOF);

    printf("是否再输入一组数据(y/n):");

    }

    ch = getchar();

    }

    while(ch=='y' || ch=='Y' || ch=='n');

    puts("Goodbye!");

    return 0;

    }

    展开全文
  • 第一个判断三角形的类型,两个浮点型数据不能直接判断相等,为了输入方便一些,自己设置的精度比较低,10^(-3)。#include #include #defineEPSINON1e-3#defineABS(a)(((a)>0)?(a):(-a)) //?:不支持表达式嵌套#...

    最近回炉重造C语言,陆续写一些比较短的代码,选择其中的一些贴到这里,都是在Linux下的代码,Windows未测试。

    第一个判断三角形的类型,两个浮点型数据不能直接判断相等,为了输入方便一些,自己设置的精度比较低,10^(-3)。

    #include

    #include

    #defineEPSINON1e-3

    #defineABS(a)(((a)>0)?(a):(-a)) //?:不支持表达式嵌套

    #define ZERO(x)((x)>-EPSINON && (x)

    #define MAX(a,b)(((a)>(b))?(a):(b))

    #define MIN(a,b)(((a)

    float a, b, c;

    float max, mid, min;

    char input_err_flag = 0;

    char judge_err_flag = 0;

    int equal(float a, float b)

    {

    float tmp;

    tmp = a - b;

    tmp = ZERO(ABS(tmp));

    return tmp;

    }

    void input(void)

    {

    a = b = c = 0;

    printf("输入三条边的值:");

    scanf("%f %f %f",&a, &b, &c);

    if(!(a>0) || !(b>0) || !(c>0))

    {

    input_err_flag = 1;

    }

    }

    void sort(void)

    {

    max = MAX(MAX(a,b),c);

    min = MIN(MIN(a,b),c);

    if(MAX(a,b) < c)

    mid = MAX(a,b);

    else

    mid = MAX(MIN(a,b),c);

    }

    void judge(void)

    {

    float max_square, mid_square, min_square, tmp;

    if(max >= (mid+min))

    {

    judge_err_flag = 1;

    }

    else

    {

    max_square = max * max;

    mid_square = mid * mid;

    min_square = min * min;

    tmp = mid_square + min_square;

    if(equal(mid,min) || equal(max, mid))

    {

    if(equal(mid, min))

    {

    if(mid == max)

    puts("等边三角形。");

    else if(equal(max_square, tmp))

    puts("等腰直角三角形。");

    else if(max_square < tmp)

    puts("等腰锐角三角形。");

    else

    puts("等腰钝角三角形。");

    }

    else

    {

    if(equal(min, mid))

    puts("等边三角形。");

    else

    puts("等腰锐角三角形。");

    }

    }

    else if(equal(max_square, tmp))

    puts("直角三角形。");

    else if(max_square < tmp)

    puts("锐角三角形。");

    else

    puts("钝角三角形。");

    }

    }

    int main(void)

    {

    char cs, ch;

    do

    {

    input();

    sort();

    judge();

    if(input_err_flag)

    {

    input_err_flag = 0;

    while((cs=getchar())!='\n' && (cs=getchar())!=EOF);

    printf("输入错误,a b c必须大于零,是否新输入(y/n):");

    }

    else if(judge_err_flag)

    {

    judge_err_flag = 0;

    while((cs=getchar())!='\n' && (cs=getchar())!=EOF);

    printf("组不成三角形,是否重新输入(y/n):");

    }

    else

    {

    while((cs=getchar())!='\n' && (cs=getchar())!=EOF);

    printf("是否再输入一组数据(y/n):");

    }

    ch = getchar();

    }

    while(ch=='y' || ch=='Y' || ch=='\n');

    puts("Goodbye!");

    return 0;

    }

    展开全文
  • if(a+b>=c || a+c>=b || b+c>=a) { if (a==b&&a==c&&b==c) printf("等边三角形\n"); else if ((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a)) printf("直角三角形\n"); else if (a==b||a==c||b==c ) printf("等...

    展开全部

    &&、||运算符使用错误32313133353236313431303231363533e58685e5aeb931333431353362,代码为:

    #include

    int main()

    {

    float a,b,c;

    printf("请输入边长:\n");

    scanf("%f,%f,%f",&a,&b,&c);

    if(a+b>=c || a+c>=b || b+c>=a)

    { if (a==b&&a==c&&b==c)

    printf("等边三角形\n");

    else if ((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))

    printf("直角三角形\n");

    else if (a==b||a==c||b==c )

    printf("等腰三角形\n"); }

    else

    printf("普通三角形\n");

    return 0;

    }

    扩展资料:

    &&、|| 和 !的优先级为:

    ! > && > ||

    ! 运算符比许多 C++ 运算符具有更高的优先级。因此,为了避免错误,应始终将其操作数括在括号中,除非打算将其应用于没有其他操作符的变量或简单表达式。例如,来看以下表达式:

    ! (x > 2)

    ! x > 2

    第一个表达式将 !运算符应用于表达式 x>2,它是在问“x 是否不大于 2”,然而,第二个表达式是将 !运算符应用于到 x。它是在问“x 的逻辑是否大于 2”。

    假设 x 被设置为 5,由于 5 是非零值,所以被认为是 true,而 !运算符会将其反转为 false,即为 0,然后,> 运算符将确定 0 是否大于 2。为了避免这种错误,始终使用括号是明智的。

    参考资料:

    展开全文
  • 展开全部||按照你要求编写的判断三角形类型C语言程序如下#include#includefloatcal_area(floata,floatb,floatc){floatp,s;p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));returns;}intmain(){inti,n;floata,b,c,e=0....

    展开全部

    ||

    按照你的要求编写的判断三角形类型的C语言程序如下#include

    #include

    float cal_area(float a,float b,float c){

    float p,s;

    p=(a+b+c)/2;

    s=sqrt(p*(p-a)*(p-b)*(p-c));

    return s;

    }

    int main(){

    int i,n;

    float a,b,c,e=0.001;

    scanf("%d",&n);

    for(i=0;i

    scanf("%f%f%f",&a,&b,&c);

    if(a+b<=c ||e69da5e6ba903231313335323631343130323136353331333365646334 a+c<=b || b+c<=a){

    printf("no triangle\n");

    }else if(fabs(a-b)

    printf("equilateral triangle,");

    printf("%.1f\n",cal_area(a,b,c));

    }else if((fabs(a-b)

    printf("isosceles right triangle,");

    printf("%.1f\n",cal_area(a,b,c));

    }else if(fabs(a-b)

    printf("isosceles triangle,");

    printf("%.1f\n",cal_area(a,b,c));

    }else if(fabs(a*a+b*b-c*c)

    printf("right triangle,");

    printf("%.1f\n",cal_area(a,b,c));

    }else{

    printf("general triangle,");

    printf("%.1f\n",cal_area(a,b,c));

    }

    }

    return 0;

    }

    运行结果

    3

    3.0 2.0 6.0

    no triangle

    3.0 4.0 5.0

    right triangle,6.0

    1.0 1.0 1.414

    isosceles right triangle,0.5

    展开全文
  • RAPTOR程序设计一、顺序...输入任意三角形的三边之长存入变量a、b、c中,然后计算并输出该三角形的面积。海伦公式:p=(a+b+c)/2S=sqrt(p*(p-a)*(p–b)*(p–c))二、选择结构编程3.输入任意一个年份,判断该年是否为...
  • 输入任意三角形的三边之长存入变量a、b、c中,然后计算并输出该三角形的面积。海伦公式:p=(a+b+c)/2S=sqrt(p*(p-a)*(p–b)*(p–c))二、选择结构编程3.输入任意一个年份,判断该年是否为润年。...
  • 输入任意三角形的三边之长存入变量a、b、c中,然后计算并输出该三角形的面积。海伦公式:p=(a+b+c)/2S=sqrt(p*(p-a)*(p–b)*(p–c))二、选择结构编程3.输入任意一个年份,判断该年是否为润年。...
  • 一、三角形如何设计测试用例?在三角形计算中,要求三角形的三个边长:A B C 。...4、画出程序流程图并设计一个测试用例。分析一下:构成三角形的条件:任意两边之和大于第三边;构成等腰三角形...
  • 一、杨辉三角形与组合数公式 1.使用组合数公式n!来实现 (1)利用组合数公式计算,通过对n阶乘进行递归,实现求n!...(2)程序流程图 (3)源程序代码 import java.util.Sc...
  • 一、杨辉三角形与组合数公式1....(2)程序流程图(3)源程序代码import java.util.Scanner;public class Yhunsanjiao{public static void main(String[] args){Scanner sc = new Scanner(System.in);...
  • (2)流程图 (3)测试数据及运行结果 测试数据1 r=2 运行结果: 测试数据2 r=3 运行结果: (4)实验分析 问题1:output输出时多加了引号,导致直接输出了字母,无法输出数字 原因 :没有认真掌握使用规则 ...
  • 基于逻辑覆盖测试用例设计

    万次阅读 2016-06-21 19:26:56
    基于逻辑覆盖的方法白盒测试中,测试用例可以用基于逻辑覆盖的方法...关于三角形判断方法的程序流程图约定:为方便起见,每个语句以编号代替(如图) 编号 语句 说明 J1 a¦¦b¦¦c J2 a>100¦¦b>100¦¦c>10
  • 这次课的顺序大约如下:1。什么是算法,如何计算1---1000的和(由于学生都知道1-100的和,所以改...学生做:(1)已经三角形的三个边求面积(用两种)(2)求出两个数中的大数(用两种)(3)判断一年是否是闰年
  • Contents 7.4 测试用例设计7.4.3软件危机 (1.2) 7.5 调试技术和策略 7.6 软件测试工具 例程序Triangle读入三个整数值这三个整数代表同一个三角形三条边...b,cstart程序图Fa程序流程图TFb<a+c?TFc<a+b?TFFa=b?a=c?TTTb=
  • 黑盒测试用例

    2009-10-13 11:00:00
    图9.11显示了该程序的流程图程序图。为以上的三角形分类程序设计一组测试用例。 【解】 第一步:确定测试策略。在本例中,对被测程序的功能有明确要求,即: (1)判断能否组成三角形; ...
  • 黑盒测试用例设计案例

    千次阅读 2009-06-24 14:45:00
    【例1】假设现有以下...图9.11显示了该程序的流程图程序图。为以上的三角形分类程序设计一组测试用例。 【解】 第一步:确定测试策略。在本例中,对被测程序的功能有明确要求,即: (1)判断能否组成三角形
  • 是学python第四天哇

    2019-09-07 20:05:12
    循环结构应用场景 - 条件 / 缩进 / 代码块 / 流程图 while循环 - 基本结构 / break语句 / continue语句 for循环 - 基本结构 / range类型 / 循环中分支结构 / 嵌套循环 / 提前结束程序 应用案例 - 1~100求和 / ...
  • 软件工程-白盒测试技术

    千次阅读 2018-01-11 17:29:29
    说明:输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否构成一般三角形、等腰三角形、等边三角形 用逻辑覆盖设计测试用例。 (1) 画出程序流程图流程图如下(流程图最后一步是结束)...
  • C语言第一章

    2017-07-26 21:05:00
    c语言第一章 程序:为了让计算机执行某些操作或解决某些问题而编写...自己画一个计算三角形面积的流程图10分钟 C语言 语法 词汇 void 声明一个没有返回值函数(方法) printf 函数是输出函数,讲其中内容打印到屏
  • 一、 实验目的 通过实验主要掌握黑盒法和白盒法设计测试用例技术。 二、实验内容 为以下的三角形程序设计一组测试用例。这个程序的功能是,读入代表三角形边长3个整数, 判断他们能否组成...该程序的流程图和流
  • *待完成,将流程图以字节形式输出  */ out.close(); } <span class="hljs-keyword">catch(IOException ioe) {}; } } }); </pre><p>主类</p><pre class="ql-syntax" ...
  • 学通Java24堂课

    2014-01-17 13:19:41
    1.4.4 基本功训练4——输出“*”字符组成的三角形 18 1.5 情景应用——拓展与实践 19 1.5.1 情景应用1——计算两个整数和 19 1.5.2 情景应用2——输出当前日期 19 1.5.3 情景应用3——在控制台接收用户输入...
  • java基础知识

    2013-12-02 16:06:35
    1 do while循环语法和流程图: 20 2 while do while区别: 21 三 循环小结: 22 四 程序调试: 23 五 练习: 24 1 乘法表 24 2 正三角形 24 3 等腰三角形 24 4 倒立等腰三角形 25 5 菱形 25 六 补充知识: 25...
  • 软件工程教程

    热门讨论 2012-07-06 23:10:29
    删除操作一旦执行,立即被监听器捕获到,进而在执行 删除操作前执行自定义函数体,即判断实体有无undeletable标签,有则中断删除操作,无则正常删除。 用例 关系 关联关系 ;依赖关系 ;泛化关系;关系...
  • 掌握c#的程序流程控制语句 C#项目开发全程实录视频教程(全10个案例):htt: /cnrdn com/gCxC 本章简介 从本门课开始我们将要开始学习¢#语言和NET平台。本章将使学员对NET和¢#有一个 初步的认识,了解C#的开发环境,...
  • 软件测试规范

    2018-04-23 09:16:12
    1.软件测试流程图 .................................................................................................................................. 3 2.软件测试流程细则 ..................................

空空如也

空空如也

1 2
收藏数 37
精华内容 14
关键字:

判断三角形的程序流程图