习题1.5.3

习题1-1 平均数(average)

输入3个整数,输出它们的平均值,保留3位小数。

c:

#include <stdio.h>

int main() {
    int a, b, c;

    scanf("%d%d%d", &a, &b, &c);
    double average = (double)(a + b + c) / 3;

    printf("%.3f\n", average);
    return 0;
}

python:

# -*- coding: utf-8 -*-

li = [int(i) for i in input().split()]
f = 0
for i in li:
    f = f + i
print('%.3f' % (f/len(li)))

习题1-2 温度(temperature)

输入华氏温度f,输出对应的摄氏温度c,保留3位小数。提示:c=5(f-32)/9。

c:

#include <stdio.h>

int main() {
    int f;

    scanf("%d", &f);
    double c = 5 * ((double)f - 32) / 9;

    printf("%.3f\n", c);
    return 0;
}

python:

# -*- coding: utf-8 -*-

# c=5(f-32)/9
f = float(input())
c = (5 * (f - 32)/9)
print('%.3f' % (c))

习题1-3 连续和(sum)

输入正整数n,输出 1+2+…+n的值。提示:目标是解决问题,而不是练习编程。

#include <stdio.h>

int main() {
    int n, sum = 0;

    scanf("%d", &n);

    for (int i = 1; i <= n; ++i) {
        sum += i;
    }

    printf("%d\n", sum);
    return 0;
}

习题1-4 正弦和余弦(sin 和 cos)

输入正整数n(n<360),输出n度的正弦、余弦函数值。提示:使用数学函数。

#include <stdio.h>
#include <math.h>

// use acos(-1.0) to calc π
#define j2h(x) (acos(-1.0)*(x)/180.0)

int main() {
    int in, n;

    scanf("%d", &in);
    n = (double)(in);

    printf("%f, %f\n", sin(j2h(n)), cos(j2h(n)));
    return 0;
}

习题1-5 打折(discount)

一件衣服95元,若消费满300元,可打八五折。输入购买衣服件数,输出需要支付的金额(单位:元),保留两位小数。

#include <stdio.h>

int main() {
    const int one = 95;
    int n;
    double sum = 0.0;

    scanf("%d", &n);
    sum = n * one;
    if (sum >= 300) {
        sum *= 0.85;
    }

    printf("%.2f\n", sum);
    return 0;
}

习题1-6 三角形(triangle)

输入三角形3条边的长度值(均为正整数),判断是否能为直角三角形的3个边长。如果可以,则输出yes,如果不能,则输出no。如果根本无法构成三角形,则输出not a triangle。

#include <stdio.h>
#include <math.h>

int main() {
    int a, b, c;

    scanf("%d%d%d", &a, &b, &c);
    if (pow(c, 2) == (pow(a, 2) + pow(b, 2))) {
        printf("yes\n");
    } else if ((a + b) > c) {
        printf("no\n");
    } else {
        printf("not a triangle\n");
    }

    return 0;
}

习题1-7 年份(year)

输入年份,判断是否为闰年。如果是则输出yes,否则输出no。 提示:简单地判断除以4的余数是不够的。

#include <stdio.h>

int main() {
    int y;

    scanf("%d", &y);
    // 闰年是公历中的名词。闰年分为普通闰年和世纪闰年。普通闰年:能被4整除但不能被100整除的年份为普通闰年;世纪闰年:能被400整除的为世纪闰年。
    if ((y % 400 == 0)
        || ((y % 4 == 0) && (y % 100 != 0))) {
        printf("yes\n");
    } else {
        printf("no\n");
    }
    return 0;
}
Last modified:7 September 2019