2022.3.4

//2022.3.4
//输入三角形的三边长,求三角形面积
//已知三角形的三边长a.b.c 则该三角形的面积公式为
//area=  [s(s-a)(s-b)(s-c)]  有个很长的格式叫什么"根”我打不出来
//其中 s= (a+b+c)/2
//下面的程序运行成功了但是 不对,以后在研究

//#include <stdio.h>
//#include <math.h>
//
//void main()
//{
//    float a, b, c, s, area;
//    scanf_s("%lf,%lf,%lf", &a, &b, &c);
//    //s = (a + b + c) / 2.0;可以和第9行调换下试试结果
//    s = 1/ 2 * (a + b + c);
//    area = sqrt(s * (s - a) * (s - b) * (s - c));
//    printf("a=%7.2f, b=%7.2f, c=%7.2f, s=7.2%f\n", a, b, c, s);
//    printf("area = %7.2f\n", area);
//}


//2022.3.4
//在本例中求出各种关系运算符的值,字符变量是以它对应的ASCII码参与运算的
// 对于含多个关系运算符的表达式,如k==j==i+5,根据运算符的左结合性,先计算
//  k==j,该式不成立,其值为0,在计算0==i+5,也不成立,故表达式值为0.
//关系表达式的值是“真”和“假”,用“1”和“0”表示,
//如:5 > 0 的值为“真”,即为1.            i=5      
//(a=3)>(b=5)由于3>5不成立,故其值为假,即为0.
// 下面的程序运行不成功,以后在研究
//#include<stdio.h>
//void main()
//{
//    char c = 'k';
//    int i = 1, j = 2, k = 3;
//    float x = 3e+5, y = 0.85;
//
//    printf("%d,%d\n", 'a' + 5 < c, -i - 2 * j >= k + 1);
//    printf("%d,%d\n", 1 < j < 5, x - 5.25 <= x + y);
//    paintf("%d,%d\n", i + j + k == -2 * j, k == j == i + 5);
//}


//2022.3.4
//逻辑表达式
// 下面的程序运行出来了不知道对不对结果是0,1,0,0,1以后在研究
//#include<stdio.h>
//void main()
//{
//    char c = 'k';
//    int i = 1, j = 2, k = 3;
//    float x = 3e+5, y = 0.85;
//    printf("%d,%\n", !x * !y, !!!x);
//    printf("%d,%d\n", x || i && j - 3, i < j&& x < y);
//    printf("%d,%d\n", i == 5 && c && (j = 8), x + y || i + j + k);
//}


//2022.3.4
//if 语句第一种形式为基本形式其语义是:如果表达式的值为真,则执行其后的语句
//否则不执行该语句
// 下面的程序运行出来了不知道对不对以后在研究
//#include <stdio.h>
//void main()
//{
//    int a, b, max;
//    printf("\n input two numbers:");
//    scanf_s("%d%d", &a, &b);
//    max = a;
//    if (max < b)
//    {
//        max = b;
//    }
//    printf("max = %d", max);
//}


//第二种形式:if - else
//if (表达式)   语句1:else      语句2
// 下面的程序运行不成功,以后在研究
//
//#include <stdio.h>
//void main()
//{
//    int a, b;
//    printf("\n input  two  numbers; ");
//    scanf_s("%d", &a, &b);
//    if (a > b)
//    {
//        printf("max = %d\n", a);
//    }
//    else
//    {
//        printf("max = %d\n", b);
//    }
//    printf("max = %d", max);
//}


//if 语句的三种形式
// 下面的程序运行出来了不知道对不对以后在研究
//#include <stdio.h>
//void main()
//{
//    char c;
//    printf("input a charcter;");
//    c = getchar();
//    if ( c < 32) 
//    {
//        printf("This is a control character!\n");
//    }
//    else if ( c >= '0' && c <= '9')
//    {
//        printf("This is a digit\n");
//    }
//    else if ( c >= 'A' && c <= 'Z')
//    {
//        printf("This is a capital letter\n");
//    }
//    else if ( c >= 'a' && c <= 'z')
//    {
//        printf("This is a small letter\n");
//    }
//    else   printf("This is an other character\n");
//}

//2022.3.4
//在使用 if 语句中还应注意以下问题
//if (a = 5)语句;
//if  (b) 语句;
//都是允许的,只要表达式的值为非 0, 即为“真”
//if (a=5)   和 a = 5 的区别
// 下面的程序运行出来了应该是2不知道对不对以后在研究
//#include <stdio.h>
//void main()
//{
//    int a;
//    a = 2;
//    if ( a == 3 )
//    {
//        printf("a equals 3!!\n");
//
//    }
//    else
//    {
//        printf("a is %d\n", a);
//    }
//}
/// 2022.3.4
//在使用 if 语句中还应注意以下问题
//if (a = 5)语句;
//if  (b) 语句;
//都是允许的,只要表达式的值为非 0, 即为“真”
//if (a=5)   和 a = 5 的区别
// 下面的程序运行没出来不知道怎么回事以后在研究
//#include <stdio.h>
//void main()
//{
//    int a;
//    a = 3;
//    if (a == 3);
//    {
//        printf("a equals 3!!\n");
//    }
//    else
//    {
//        printf("a is %d\n", a);
//    }
//}


//补充例题:写一个程序完成下列功能:
//1、输入一个分数 score
//2、 score < 60               输出  E
//    3、60 <= score < 70      输出  D
//    4、70 <= score < 80      输出  C
//    5、80 <= score < 90      输出  B
//    5、90 <= score           输出   A
// 下面的程序运行没出来不知道怎么回事以后在研究
//#include <stdio.h>
//    void main()
//{
//    int acore;
//    printf("please input a sore;");
//    scanf_s("%d", &score);
//    
//    if (score < 60);
//    {
//        printf("The score is E!\n");
//    }
//    else if ((score > 60 || score == 60) && score < 70)
//    {
//        printf("The score is D!\n");
//    }
//    else if ((score > 70 || score == 70) && score < 80)
//    {
//        printf("The score is C!\n");
//    }
//    else if ((score > 80 || score == 80) && score < 90)
//    {
//        printf("The score is B!\n");
//    }
//    else
//    {
//        printf("The score is A!\n");
//    }
//
//}


//
//补充例题2:输入三个数 a, b, c 要求按由小到大的顺序输出
//提示:  if      a > b      将 a 和 b 对换
//if      a > c      将 a 和 c 对换
//if      b > c      将 b 和 c 对换
//下面的程序运行没出来不知道怎么回事以后在研究
#include <stdio.h>
void main()
{
    int a, b, c, temp;
    printf("please input three numbers:");
    scanf_s("%d%d%d", &a, &b, &c);
    if (a > b)
    {
        temp = a;
        a = b;
        b = temp;
    }
    if (a > c)
    {
        temp = a;
        a = c;
        c = temp;

    }
    if (b > c)
    {
        temp = b;
        b = c;
        c = 1 temp;
    }
    printf("%d %d %d \n", a, b, c);
}

       2022.3.4    顺序结构程序设计举例
          例4.14 输入三角形的三边长,求三角形面积,
          已知三角形的三边长 a,b,c,  则该三角形的面积公式为:
                  area =[s(s-a)(s-b)(s-c)
           其中 s= (a+b+c)/2
                           关系运算符和表达式
       关系运算符:在程序中经常需要比较两个量的大小关系,以决定程序下一步工作,
                           比较两个量的运算符称为关系运算符,  
                  关系表达式  
        关系表达式的一般形式为:
               表达式   、关系运算符、表达式
         例如:
                   a+b  > c-d
                     x     >  3/2
                   'a'+1 <  c
                   -i-5*j == k+1
         都是合法的关系表达式,由于表达式也可以又是关系表达式,因此也允许出现嵌套的情况,
          例如:      a >(b>c)
                          a !=(c==d)等。
            逻辑运算符和表达式
           逻辑运算符极其优先次序
          C语言中提供了三种逻辑运算符
       1、&&       与运算
        2、||          或运算
        3、!        非运算
        与运算符 && 和或运算符       均为双目运算符,具有左结合性,非运算符 !为单目运算符
         具有右结合性,逻辑运算符和其它运算符优先级的关系可表示如下:
         !非   →   &&(与)→ 、|   (或)
            逻辑运算的值
          逻辑运算的值也为“真”和“假”两种,用:“1”和“0”;来表示。其求值规则如下:
        1、与运算 &&:参与运算的两个量都为真时,结果才为真,否则为假。
          例如: 5>0 && 4>2
          由于 5>0 为真。 4>2 也为真。相与的结果也为真。
       2、或运算||: 参与运算的两个量只要有一个为真,结果就为真,两个量都为假时结果为假。
          例如: 5>0  ||  5>8
          由于 5>0 为真,相或的结果也就为真,
                       if 语句
     用 if 语句可以构成分支结构,它根据给定的条件进行判断,以决定执行某个分支程序段,
         C 语言的 if 语句由三种基本形式。
      第一种形式为基本形式:
          if (表达式)语句
         其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句,其过
       第二种形式:if-else
           if(表达式)   语句1:else      语句2
     第三种形式为 :if-else-if 形式
     前二种形式的 if 语句一般用于两个分支的情况,当有多个分支选择时,可采用
       if-else-if 语句,其一般形式为:if (表达式)
                                                          语句1;
                                                      else  if (表达式2)
                                                          语句2;
                                                      else  if (表达式3)
                                                          语句3;
                                                       ............
                                                     else  if (表达式m)
                                                       语句m
                                                     else
                                                       语句n;
                      在使用 if 语句中还应注意以下问题:
          1、在三种形式的 if 语句中,在 if 关键字之后均为表达式,该表达式通常是逻辑表达式或
               关系表达式,但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。
             例如:     if (a=5)语句;
                            if  (b) 语句;
              都是允许的,只要表达式的值为非 0,即为“真”。
        2、在 if 语句中,条件判断表达式必须用括号括起来,在语句之后必须加分号,
        3、在 if 语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组
               (多个)语句,则必须把这一组语句用 {} 括起来组成一个复合语句,但要注意的是在
             } 之后不能在加分号。
          例如:if (a>b)
{                   {
                      a++;
                      b++;
                    }
                     else
                     {
                      a = 0;
                      b = 10;
                     }
               补充例题:写一个程序完成下列功能:
            1、输入一个分数 score
            2、 score < 60                 输出  E
            3、60  <= score < 70      输出  D
            4、75  <= score < 80      输出  C
            5、80  <= score < 90      输出  B
            5、90  <= score              输出   A
             
补充例题2:输入三个数 a,b,c 要求按由小到大的顺序输出
         提示:  if      a > b      将 a 和 b 对换
                     if      a > c      将 a 和 c 对换
                     if      b > c      将 b 和 c 对换
              


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值