C语言典型编程3

关于C的一些小而精的编程,适合希望提升编程能力的初学者学习:关键编程也就几句,但思维可以迁移到其他编程语言。同一问题,算法多种。

//判断三角形类型
#include<stdio.h>
main2()
{
    int x,y,z;
tiaohui:
    {
        do
        {
            printf("请输入三角形三边: ");
            scanf("%d%d%d",&x,&y,&z);
        }
        while(x<=0||y<=0||z<=0);
    }
    if((x+y>z&&x-y<z)&&(x+z>y&&x-z<y)&&(y+z>x&&y-x<x))
    {
        printf("可以构成三角形 ");
    }
    else
    {
        printf("不能构成三角形 ");
        goto tiaohui;//跳回语句,不推荐用,但我还是尴尬地用了。
    }
    if (dengyao(x,y,z)==1)
    {
        if(x==y&&y==z)
        {
            printf("这是等边三角形 ");
        }
        else if (zhijiao(x,y,z)==1)
        {
            printf("这是等腰直角三角形 ");

        }
        else
        {
            printf("这是等腰三角形 ");
        }
    }
    else if(zhijiao(x,y,z)==1)
    {
        printf("这是直角三角形 ");
    }
    else
    {
        printf("这是普通三角形 ");
    }
}
int dengyao(int x,int y,int z)
{
    if (x==y||x==z||y==z)
    {
        return 1;
    }
    else
        return 0;
}


//1000以内可构成等腰直角三角形的数组
#include<stdio.h>
#include<math.h>
int  main()
{
    int x,y,z;
    for (x=1;x<=1000;x++)
    {
        for(y=1;y<=1000;y++)
        {
            for(z=1;z<=1000;z++)
            {
                if(dengyao(x,y,z)==1&&zhijiao(x,y,z)==1)
                {
                    printf("x=%d,y=%d,z=%d ",x,y,z);
                    continue;
                }
                else{
                continue;
                }

            }
        }
    }
}
int dengyao(int x,int y,int z)
{
    if (sqrt(x)==sqrt(y)||sqrt(x)==sqrt(z)||sqrt(y)==sqrt(z))
    {
        return 1;
    }
    else
        return 0;
}
int zhijiao(int x,int y,int z)
{
    if(x+y==z||x+z==y||y+z==x)
    {
        return 1;
    }
    else
        return 0;

}

备注:暂时用比较基础的方法来写,循序渐进学习高级编程。如果看官能发挥主观能动性编写更好的,这更比程序重要。C

原文地址:https://www.cnblogs.com/llj9527/p/10753064.html