关于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=%dn",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

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!