C语言自增自减运算、判断奇偶数、三角形面积

C语言自增自减运算、判断奇偶数、三角形面积,第1张

C语言程序案例之二
  • 问题引入
    • 自增和自减运算
    • 判断奇偶数
    • 输入三个数,判断是否为三角形,如是,则计算三角形的面积

问题引入

1、实现++--的输出
2、判断奇偶数
3、输入三边,判断是否构成三角形并求面积

自增和自减运算

运行代码如下

#include 

int main()
{
    int a = 1, b = 1, c = 1, d = 1;
    printf("%d\t", a);
    printf("%d\t", ++a);
    printf("%d\n", a);
    printf("%d\t", b);
    printf("%d\t", b++);
    printf("%d\n", b);
    printf("%d\t", c);
    printf("%d\t", --c);
    printf("%d\n", c);
    printf("%d\t", d);
    printf("%d\t", d--);
    printf("%d\t", d);
}

运行结果如下

1       2       2
1       1       2
1       0       0
1       1       0

结果分析:

  1. 有结果可以看出,a、b、c、d四个变量在定义时都定义为了整数1,a,b执行了自增运算,c,d执行了自减运算,所以初始值都为1,终值也都增加或减少了1;
  2. 自增,自减运算表达式的值并不相同,++a的值为a+1,但++b的值仍为b; 同理 --c的值为c-1,d--的值为d;
  3. 解释++var--var这种自增减算法表达式的值是变量自增减后的值,即变量先进行自增减运算,然后将结果赋给表达式;
  4. 解释var++var--这种自增减算法表达式的值是变量的值,即变量先把值赋给表达式,然后自身再进行增减运算
判断奇偶数

判断奇偶数,我们只需判断这个整数对2取余数的结果为1或者0就可以;取余运算在c语言中用%,话不多说,上代码

#include 

void main()
{
    int num;
    printf("请输入一个数字");
    scanf("%d", &num);
    if (num % 2)
        printf("%d为奇数", num);
    else
        printf("%d为偶数", num);
}
输入三个数,判断是否为三角形,如是,则计算三角形的面积

此例中,首先需要三边是否构成三角形,条件为任意两边大于第三边,假设三边分别为 a , b , c a,b,c a,b,c则有
a + b > c a+b>c a+b>c a + c > b a+c>b a+c>b b + c > a b+c>a b+c>a可以在条件语句中暴力判断
已知三边计算三角形面积需用到海伦公式
s = p ( p − a ) ( p − b ) ( p − c ) s=\sqrt{p(p-a)(p-b)(p-c)} s=p(pa)(pb)(pc)
其中p为周长的一半 p = a + b + c 2 p=\frac{a+b+c}{2} p=2a+b+c
海伦公式的推导详见百度百科:海伦公式
参考代码

#include 
#include 

void main()
{
    double a, b, c, p, s;
    printf("请输入三边长度:");
    scanf("%lf%lf%lf", &a, &b, &c);
    if ((a + b > c) & (a + c > b) & (b + c > a))
    {
        p = (a + b + c) / 2;
        s = sqrt(p * (p - a) * (p - b) * (p - c));
        printf("三边构成三角形,面积为%.2lf", s);
    }
    else
        printf("%f,%f,%f三边不构成三角形", a, b, c);
}

[1]:

"""
Created on Fri Apr 1 22:30:03 2022

@author: YLH
"""

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/562775.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-02
下一篇 2022-04-02

发表评论

登录后才能评论

评论列表(0条)

保存