信息学奥赛一本通 1.2:顺序结构程序设计(2)

​第一部分 C++语言

第二章 顺序结构程序设计

第四节 数据输入输出

1024 保留3位小数的浮点数
#include <cstdio>
using namespace std;

int main() {
    float a;

    scanf("%f", &a);
    printf("%.3f\n", a);
​
    return 0;
}
1025 保留12位小数的浮点数
#include <cstdio>
using namespace std;

int main() {
    double a;

    scanf("%lf", &a);
    printf("%.12lf\n", a);

    return 0;
}
1026 空格分隔输出
#include <cstdio>
using namespace std;

int main() {
    char a;
    int b;
    float c;
    double d;

    scanf("%c %d %f %lf", &a, &b, &c, &d);
    printf("%c %d %f %lf\n", a, b, c, d);

    return 0;
}
1027 输出浮点数
#include <cstdio>
using namespace std;

int main() {
    double a;

    scanf("%lf", &a);
    printf("%f\n%.5f\n%e\n%g\n", a, a, a, a);

    return 0;
}
1028 字符菱形
#include <cstdio>
using namespace std;

int main() {
    char c;

    scanf("%c", &c);
    printf("  %c\n", c);
    printf(" %c%c%c\n", c, c, c);
    printf("%c%c%c%c%c\n", c, c, c, c, c);
    printf(" %c%c%c\n", c, c, c);
    printf("  %c\n", c);

    return 0;
}

第五节 顺序结构实例

1029 计算浮点数相除的余
#include <iostream>
using namespace std;

int main() {
    double a, b, r;

    cin >> a >> b;
    r = a - int(a / b) * b;
    cout << r << endl;

    return 0;
}
1030 计算球的体积
#include <cstdio>
using namespace std;

int main() {
    double r, V;

    scanf("%lf", &r);
    V = 4.0 / 3.0 * 3.14 * r * r * r;
    printf("%.2lf\n", V);

    return 0;
}
1031 反向输出一个三位数
#include <cstdio>
using namespace std;

int main() {
    int a;

    scanf("%d", &a);
    printf("%d%d%d\n", a%10, a/10%10, a/10/10);

    return 0;
}
1032 大象喝水
#include <cstdio>
#include <cmath>
using namespace std;

int main() {
    int h, r, x;

    scanf("%d %d", &h, &r);
    x = ceil(20000 / (3.14 * r * r * h));
    printf("%d\n", x);
    return 0;
}
1033 计算线段长度
#include <cstdio>
#include <cmath>
using namespace std;

int main() {
    double xa, ya, xb, yb, len;

    scanf("%lf %lf %lf %lf", &xa, &ya, &xb, &yb);
    len = sqrt((xb - xa) * (xb - xa) + (yb - ya) * (yb - ya));
    printf("%.3lf\n", len);

    return 0;
}
1034 计算三角形面积
#include <cstdio>
#include <cmath>
using namespace std;

int main() {
    float x1, y1, x2, y2, x3, y3;
    double a, b, c, p, s;

    scanf("%f %f %f %f %f %f", &x1, &y1, &x2, &y2, &x3, &y3);
    a = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
    b = sqrt((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2));
    c = sqrt((x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3));
    p = (a + b + c) / 2;
    s = sqrt(p * (p - a) * (p - b) * (p - c));

    printf("%.2lf\n", s);

    return 0;
}
1035 等差数列末项计算
#include <cstdio>
using namespace std;

int main() {
    int a1, a2, n;

    scanf("%d %d %d", &a1, &a2, &n);
    printf("%d\n", a1 + (a2 - a1) * (n - 1));

    return 0;
}
1036 AxB问题
#include <cstdio>
using namespace std;

int main() {
    int A, B;

    scanf("%d %d", &A, &B);
    printf("%lld\n", (long long)A * (long long)B);

    return 0;
}
1037 计算2的幂
#include <cstdio>
#include <cmath>
using namespace std;

int main() {
    int n;

    scanf("%d", &n);
    printf("%d\n", (int)pow(2, n));

    return 0;
}
1038 苹果和虫子
#include <cstdio>
#include <cmath>
#include <algorithm>

using namespace std;

int main() {
    int n, x, y, left, ans;

    scanf("%d %d %d", &n, &x, &y);
    left = n - ceil(1.0 * y / x);
    printf("%d\n", max(0, left));

    return 0;
}

如果您的孩子四年级及以上,对计算机编程感兴趣,且文化课学有余力,欢迎联系客服(微信号:xiaolan7321),参加信息学的学习。我们是专业的信息学竞赛教练,采用线上小班授课的方式,目标是帮助热爱编程的中小学生,在国内外信息学竞赛中取得优秀成绩。

教学特点:

  • 线上小班授课,打好代码基础。避免大班课堂上学生要么“跟不上”,要么“吃不饱”的问题。

  • 教学经验丰富,熟悉学生的知识结构与学习能力,合理安排进度。

  • 以赛代练,通过考级与比赛,不断提高学生能力。

猜你喜欢

转载自blog.csdn.net/davidliule/article/details/106139470