zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Codeforces 1093D(染色+组合数学)
    Codeforces 1093C (思维+贪心)
    Codeforces 1082D (贪心)
    Codeforces 433A (背包)
    BZOJ 3262(Treap+树状数组)
    BZOJ 1588 (treap)
    Codeforces 1061C (DP+滚动数组)
    Codeforces 1080C 题解(思维+二维前缀和)
    周记 2015.07.12
    周记 2015.07.04
  • 原文地址:https://www.cnblogs.com/llj9527/p/10753064.html
Copyright © 2011-2022 走看看