设为首页 加入收藏

TOP

C++算法之旅、03 语法篇 | 全内容(一)
2023-09-09 10:25:48 】 浏览:293
Tags:全内容

2023年8月23日

#include <头文件>

cstdio 有两个函数 printf,scanf 用于输出和输入

int : %d
float : %f
double : %lf
char : %c
long long : %lld

iostream 有 cin 读入,cout 输出


using namespace std;

使用了std命名空间,cin、cout定义在该命名空间中,不引入空间会找不到导致出错


int main()

函数执行入口


基本类型

image-20230823200318978

a+b

?所有 cout、cin 都能用 scanf、printf 替换,但反过来,由于cout、cin效率可能较低会导致超时

? printf %c 会读入空格跟回车,需要手动加一个空格跟回车;cin 不会读入空格跟回车

#include <iostream>

using namespace std;

int main() {
    int a, b;  // ^ 定义两个变量

    cin >> a >> b;  // ^ 输入(把cin里的值拿到a里面去、b里面去)
    cout << a + b << endl;  // ^ 输出

    return 0;
}
#include <cstdio>
#include <iostream>

using namespace std;

int main() {
    int a, b;

    scanf("%d%d", &a, &b);
    printf("%d %d\n", a + b, a * b);

    return 0;
}

%

C++ 中取模看前面的数,如果负数则负数;而在Lua中取模的结果不可能为负数

    cout << 5 % 2 << endl; // 1
    cout << -5 % 2 << endl; // -1

类型转换

float , double 转 int 下取整 ;int 转 char 整数取ASCII表;

char类型跟int类型运算,结果是int类型;int类型与float型运算会变成float型

隐性类型转换:把精度低的类型转换成另外一个精度高的类型


604

604. 圆的面积 - AcWing题库

题目要求保留四位小数,考虑到float有效数字位只有6~7位,可能出现精度不准确,故改用 double(未来题目看到浮点数也优先使用double

#include <cstdio>

int main() {
    double r;
    scanf("%lf", &r);
    printf("A=%.4lf", 3.14159 * r * r);
    return 0;
}

653

653. 钞票 - AcWing题库

#include <cstdio>

int main() {
    int m;
    scanf("%d", &m);
    printf("%d\n", m);
    printf("%d nota(s) de R$ 100,00\n", m / 100);
    m %= 100;
    printf("%d nota(s) de R$ 50,00\n", m / 50);
    m %= 50;
    printf("%d nota(s) de R$ 20,00\n", m / 20);
    m %= 20;
    printf("%d nota(s) de R$ 10,00\n", m / 10);
    m %= 10;
    printf("%d nota(s) de R$ 5,00\n", m / 5);
    m %= 5;
    printf("%d nota(s) de R$ 2,00\n", m / 2);
    m %= 2;
    printf("%d nota(s) de R$ 1,00\n", m / 1);
    return 0;
}

617

617. 距离 - AcWing题库

由于隐性类型转换,结果为double,用%d表示数字不正确,需要用%lf

#include <cstdio>

int main() {
    int a;
    scanf("%d", &a);
    printf("%.0lf minutos", a / 30.0 * 60);
    return 0;
}

618

618. 燃料消耗 - AcWing题库

看数据范围,最大可以到 10 ^ 14 次方远远大于 2 ^ 31,需要改用 long(8字节)

#include <cstdio>

int main() {
    long a, b;
    scanf("%ld%ld", &a, &b);
    printf("%.3lf", a * b / 12.0);
    return 0;
}

656

656. 钞票和硬币 - AcWing题库

一开始想用两个整数读整数跟小数(%d.%d),但小数位输入可能是 .1 或 .01,读出来都是1,不能处理,只能按浮点数来读

#include <cstdio>

int main() {
    double n;
    int m;
    scanf("%lf", &n);
    m = (int)(n * 100);
    printf("NOTAS:\n");
    printf("%d nota(s) de R$ 100.00\n", m / 10000);
    m %= 10000;
    printf("%d nota(s) de R$ 50.00\n", m / 5000);
    m %= 5000;
    printf("%d nota(s) de R$ 20.00\n", m / 2000);
    m %= 2000;
    printf("%d nota(s) de R$ 10.00\n", m / 1000);
    m %= 1000;
    printf("%d nota(s) de R$ 5.00\n", m / 500);
    m %= 500;
    printf("%d nota(s) de R$ 2.00\n", m / 200);
    m %= 200;
    printf("MOEDAS:\n");
    printf("%d moeda(s) de R$ 1.00\n", m / 100);
    m %= 100;
    printf("%d moeda(s) de R$ 0.50\n", m / 50);
    m %= 50;
    printf("%d moeda(s) de R$ 0.25\n", m / 25);
    m %= 25;
    printf("%d moeda(s) de R$ 0.10\n", m / 10);
    m %= 10;
    printf("%d moeda(s) de R$ 0.05\n", m / 5);
    m %= 5;
    printf("%d moeda(s) de R$ 0.01\n", m / 1);
    return 0;
}

2023年8月24日

字符串的输入

#include <iostream>

using namespace std;

int main() {
    strin
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 1/9/9
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇AC 自动机学习笔记 下一篇1.12 进程注入ShellCode套接字

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目