跳转至

顺序结构

顺序结构,就是语句按书写顺序,一条一条执行。

前面算出的结果,后面可以接着用。

int x = 3;
x = x + 2; // x变成5
x = x * 4; // x变成20
cout << x; // 输出20

注意:后面的语句,用的是变量当前的值。两条赋值语句交换位置,结果可能不同。

格式化输出

1020:打印ASCII码

直接输出 char,显示的是字符。想输出编码值,可以先转成 int。

// 方法1:使用cin、cout
#include <iostream>

using namespace std;

int main() {
    char c;
    cin >> c;

    cout << (int)c;

    return 0;
}
// 方法2:使用scanf、printf,需要头文件<cstdio>
#include <cstdio>

using namespace std;

int main() {
    char c;
    scanf("%c", &c);

    printf("%d", c); // 按整数形式输出编码值

    return 0;
}

1024:保留3位小数的浮点数

这道题使用 float,输入用 %f,输出保留三位小数。

#include <cstdio>

using namespace std;

int main() {
    float a;
    scanf("%f", &a);

    printf("%.3f", a);

    return 0;
}

数位拆分(重点)

三位数,怎么拆出个位、十位、百位?

int x = 123;
int a = x % 10;      // 个位,3
int b = x / 10 % 10; // 十位,2
int c = x / 100;     // 百位,1

% 10 取出最后一位,整数除以 10 去掉最后一位。

这里 x 是正三位数,所以 x / 100 就是百位。

1031:反向输出一个三位数

按个位、十位、百位的顺序,依次输出,中间不加空格。

#include <iostream>

using namespace std;

int main() {
    int x;
    cin >> x;

    cout << x % 10 << x / 10 % 10 << x / 100;

    return 0;
}

输入 120,输出 021。

注意这里是依次输出三个数位,不是算出反转后的整数。合成整数再输出,前面的 0 就没了。