欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C语言典型编程3

程序员文章站 2022-04-28 15:50:15
关于C的一些小而精的编程,适合希望提升编程能力的初学者学习:关键编程也就几句,但思维可以迁移到其他编程语言。同一问题,算法多种。 //判断三角形类型#includemain2(){ int x,y,z;tiaohui: { do { printf("请输入三角形三边:\n"); s ......

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

 

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

        }
        else
        {
            printf("这是等腰三角形\n");
        }
    }
    else if(zhijiao(x,y,z)==1)
    {
        printf("这是直角三角形\n");
    }
    else
    {
        printf("这是普通三角形\n");
    }
}
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\n",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