zoukankan      html  css  js  c++  java
  • 算法竞赛入门经典 第一章 上机练习

    //试验方法确定int型整数的最大最小值
    #include<stdio.h>
    #include <math.h>
    int main()
    {
        int a = 0;
        while( a < (a+1) )
        { 
            ++a;
        }
        printf("%d
    ", a);//最大值
        a = 0;
        while( abs(a) < abs(a) + 1 )
        {
            --a;
        }
        printf("%d
    ", a);//最小值
        return 0;
    }

     方法二:一旦溢出变成负数,那么停止循环,i++也不会执行了,然后输出这个负数和比这个最小值“还小”的值,其实就是刚才溢出前的最大值

    #include <stdio.h>  
    int  
    main(void)  
    {  
        int i;  
      
        for (i = 1; i > 0; i++) NULL;  
        printf("%d %d
    ", i, i-1);  
        return 0;  
    }  

     double型浮点数能精确到多少位小数?

    #include <stdio.h>
    
    int
    main(void)
    {
        printf("%f", 10.0/3.0);//3.3333333333333334813630699500208720564842224121093750000000000000000000000000000000000000000000000000
        printf("%f", 20.0/3.0);
        return 0;
    }

     1-1 平均数

    #include <stdio.h>
    
    int main()
    {
        int a,b,c;
        scanf("%d%d%d",&a,&b,&c);
        printf("%.3f",(a+b+c)/3.0);
        return 0;
    }

    1-2温度

    #include <stdio.h>
    
    int main()
    {
    //    double f=0.0,c=0.0;//这样为什么会有问题?
        float f,c;
        scanf("%f",&f);
        c = 5.0*(f-32)/9.0;
        printf("%.3f",c);
        return 0;
    }

     改正后没有问题  基础知识不扎实

    #include <stdio.h>
    
    int main()
    {
        double f = 0.0,c=0.0;
        scanf("%lf",&f);
        c = 5.0*(f-32)/9.0;
        printf("%.3lf",c);
        return 0;
    }

     1-3 连续和

    #include <stdio.h>
    int main()
    {
        int n=0;
        scanf("%d",&n);
        int sum=0;
        sum = (1+n)*n/2;
        printf("%d",sum);
        return 0;
    }

    1-4正弦和余弦

    #include <stdio.h>
    #include <math.h>
    
    int main()
    {
        int n = 0;
        double r_sin = 0.0,r_cos = 0.0;
        scanf("%d",&n);
        n = (n/180)*3.14159265;
        r_sin = sin(n);
        r_cos = cos(n);
        printf("%.3lf,%.3lf",r_sin,r_cos);
        return 0;
    }

    1-5距离

    #include <stdio.h>
    #include <math.h>
    int main()
    {
        double x1,y1,x2,y2;
        scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
        double d_distance = sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
        printf("%.3lf",d_distance);
        return 0;
    }

    1-6偶数

    #include <stdio.h>
    
    int main()
    {
        int n,flag;
        scanf("%d",&n);
        flag = (n%2==0)?1:0;
        if (flag)
        {
            printf("yes");
        } 
        else
        {
            printf("no");
        }
        return 0;
    }

    1-7打折

    #include <stdio.h>
    int main()
    {
        int n;
        double pay;
        const one = 95;
        scanf("%d",&n);
        if (n*one >= 300)
        {
            pay = n*one*0.85;
        } 
        else
        {
            pay = n*one;
        }
        printf("%.2lf",pay);
        return 0;
    }

     1-8绝对值

    #include <stdio.h>
    #include <math.h>//错的 abs()不在这里
    #include <stdlib.h>
    #define Abs(x) (x>=0?x:(-x))
    int main()
    {
        double i;
        scanf("%lf",&i);
    //    printf("%.2lf
    ",(double)abs(i));// 错的,只能用于int等整形
        printf("%.2lf
    ",Abs(i));
        return 0;
    }

    1-9三角形

    #include <stdio.h>
    
    int main()
    {
        int i,j,k;
        scanf("%d%d%d",&i,&j,&k);
        
        if ((i+j>=k)&&(i+k>=j)&&(j+k>=i))
        {
            if (i*i+j*j==k*k||i*i+k*k==j*j||j*j+k*k==i*i)
            {
                printf("yes");
            } 
            else
            {
                printf("no");
            }
        } 
        else
        {
            printf("not a triangle");
        }
        return 0;
    }

    1-10 闰年

    #include <stdio.h>
    //闰年:能被4整除且不能被100整除 是闰年
    //能直接被400整除也是闰年
    
    int main()
    {
        int year;
        scanf("%d",&year);
        if ((year%4==0 && year%100!=0) || year%400==0)
        {
            printf("闰年");
        } 
        else
        {
            printf("不是");
        }
        return 0;
    }

    虽然简单,自己敲一遍才是自己的。

  • 相关阅读:
    url_encode and url_decode in Shell
    学嵌入式技术,做高端电子工程师
    MCU助推居家移动医疗微型化
    深圳单片机培训,7月盛大开班,报名既送
    中国嵌入式工控机市场前景广阔
    嵌入式 现已发展为 IT行业的主流——高薪,且人才缺乏
    谷歌苹果已“技穷”?移动操作系统2013无创新
    C# 与 C++,语法差别有多小-其他2
    link
    C# 与 C++,语法差别有多小-第三章 C++数据类型 第一部分
  • 原文地址:https://www.cnblogs.com/lingc/p/3427305.html
Copyright © 2011-2022 走看看