C语言程序题目--闰年判断,三边能否构成三角形

题目1.
编一个程序,从键盘输入一个年号,判断是否为闰年。若是,输出”yes“,否则输出”no“;

#include 
//新版的C语言标准要求main函数必须有返回值,因此定义成int类型,虽然一些编辑器还是支持void类型,不过不建议使用。
#include 
#include 

int main(int argc, const char * argv[]) 
{
    //printf("Hello, World!\n");
    int year, flag;

    printf("Enter year: ");
    scanf("%d", &year);       //注意键盘输入的时候需要加上&取地址符号,否则提示错误

    if ( (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0  ) )
        /*判断闰年平年的条件
        1.是4的倍数但不是100的倍数
        2.或是400的倍数
        */
    {
        flag = 1;
    }
    else
    {
        flag = 0;
    }


    if (flag == 1)
    {
        printf("%d is a leap year! \n", year);
    }
    else
    {
        printf("%d is not a leap year! \n", year);
    }

    system("pause");
    return 0;
}

题目2.
输入三角形的三边a,b,c,判断他们是否能构成三角形。若能构成,指出是何种三角形(等腰三角形,直角三角形,一般三角形)。

#include 
#include    //在vs编译器下面 编译c语言 ,输出后自动关闭窗口。在return前面加上system("pause" ); 可以解决这一问题

#include 
#define  LIMIT 1e-1

int main(int argc, const char * argv[])
{
    //设置变量三角形三边
    float a, b, c;
    int flag = 1;
    printf("input the three edge length: \n");
    scanf("%f, %f, %f", &a, &b, &c);     // 注意输入数据时候按照控制符输入即a,b,c 不可a b c 

    //判断构成三角形的基本条件
    if ((a + b) > c && ((b + c) > a) && ((a + c) > b))
    {
        printf("输入的三边能够成三角形 \n");
        if (fabs(a - b) <= LIMIT || fabs(b - c) <= LIMIT || fabs(a - c) <= LIMIT)
        {
            //判断等腰三角形的条件
            printf("三角形是等腰三角形 \n");
            flag = 0;
        }
        if (fabs(a * a + b * b - c * c) <= LIMIT || fabs(a * a + c * c - b * b) <= LIMIT
            || fabs(b * b + c * c - a * a) <= LIMIT)
        {
            //判断直角三角形的条件
            printf("三角形是直角三角形 \n");
            flag = 0;
        }

        //一般三角形
        if (flag)
        {
            printf("一般三角形 \n");
        }
        printf("输入的三边可以构成三角形 \n");
    }
    else
    {
        printf("无法构成三角形 \n");
    }

    system("pause");
    return 0;
}
补充:
 1. #include  --- 系统库
 2. #include "abc.ini" --- 自己编写的
 编写程序的许多时候需要使用系统库文件,这样便于编写,多多了解常用的系统库文件。
 在做条件判断的题目中,使用标记是一种比较好的方法。将符合条件的进行标记,如上面的flag,进行判断的时候进行标记,后面在遍历,可以事半功倍。

你可能感兴趣的:(C)