算法入门 第一章

第一章课后习题总结

/*习题1-1
#include <stdio.h>
#include <math.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()
{
    float f;
    scanf("%f", &f);
    printf("%.3f", 5 * (f - 32) / 9);
    return 0;
}
*/

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

/*习题1-4
#include<stdio.h>
#include<math.h>
int main()
{
    const double pi = acos(-1);
    int n;
    scanf("%d", &n);
    printf("%f %f", sin(pi * n / 180), cos(pi * n / 180));
    return 0;
}
*/

/*习题1-5
#include <stdio.h>
int main()
{
    int n;
    scanf("%d", &n);
    if(n > 3) printf("%.2f", 95 * 0.85 * n);
    else printf("%.2f", 95.0 * n);
    return 0;
}
*/

/*习题1-6
#include<stdio.h>
int main()
{
    int a, b, c;
    scanf("%d%d%d", &a, &b, &c);
    if(a+b<=c || a+c<=b || b+c<=a) printf("not a triangle");
    else
    {
        if(a*a + b*b == c*c || a*a + c*c == b*b ||  c*c + b*b == a*a)  printf("yes");
        else  printf("no");
    }
    return 0;
}
*/

/*习题1-7
#include<stdio.h>
int main()
{
    int year;
    scanf("%d", &year);
    if((!(year%4) && year%100) || !(year%400))    printf("yes");
    else    printf("no");
    return 0;
}
*/

/*问题一:int 取值范围  测试可知 -2^32 ~ 2^32-1
#include <stdio.h>
int main()
{
    printf("%d", -2048 * 2048 * 511);
    return 0;
}
*/

/*问题三:探讨double的最值  2^120都没有提示溢出,但是17位之后就不准确了
#include <stdio.h>
int main()
{
    printf("%lf", 2048*2048*2048.0*2048*2048*2048*2048*2048*2048*2048);
    return 0;
}
*/

/*问题四: a&&b||c 应该理解为(a&&b)||c
#include<stdio.h>
int main()
{
    if(2>3 && 3>4 || 6>5)    printf("yes");
    return 0;
}
*/

/*问题五: else 与距离最近的if配套
#include <stdio.h>
int main()
{
    if(1) if(2) if(0) printf("yes"); else printf("no");
    return 0;
}
*/

猜你喜欢

转载自blog.csdn.net/Charles___6/article/details/107813112