顺序结构

题2.2 英文字母

顺序结构 - 图1

char 类型 是一种存储字符的变量。

计算: M 在字母表中是第几位。

  1. #include <iostream>
  2. using namespace std;
  3. int main() {
  4. int ans1;
  5. ans1 = 'M' - 'A' + 1 ;
  6. cout << ans1 << endl;
  7. }

计算: 第18位是什么字母

  1. #include <iostream>
  2. using namespace std;
  3. int main() {
  4. char ans2;
  5. ans2 = 'A' + (18 - 1);
  6. cout << ans2 << endl;
  7. }

char 字符 要用' '单引号进行括起来。

题2.5 数字反转

顺序结构 - 图2

解法一:
解法 1: 分离出这个数字的所有位数, 乘 10 把这个它变成一个四 位数整数, 模 10 取余数, 获得这个四位数的个位数字

通过类似的办法获得这个四位数的其他位数

  1. #include<iostream>
  2. using namespace std;
  3. int main() {
  4. double p; // 输入的数字
  5. int q, a, b, c, d; // 转换成的四位数和分离出来的4位数字
  6. cin >> p;
  7. q = int(p * 10);
  8. a = q / 1000; // 千位
  9. b = q / 100 % 10; // 百位
  10. c = q / 10 % 10; // 十位
  11. d = q % 10; // 个位
  12. cout << d << "." << c << b << a << endl;
  13. return 0;
  14. }

解法 2: 既然学习过了 char 类型,那么可以把输入视为 5 个字符, 然后直接输出。

  1. #include<iostream>
  2. using namespace std;
  3. int main() {
  4. char a, b, c, dot, d;
  5. cin >> a >> b >> c >> dot >> d;
  6. cout << d << dot << c << b << a << endl;
  7. }

scanf | printf 占位符

用于 格式化输入输出 数据的方法之一。
可以指定不同格式,如保留多少位浮点数、输出的数据占多宽的空间,等等。
这些占位符常用于 C 语言风格的输入输出方式,即scanf/printf
这些占位符,都以百分号“%”为开头。

顺序结构 - 图3

其它格式化输出 顺序结构 - 图4

方法3 :使用 scanf 与 printf 实现数字反转(p5705)。

  1. #include <cstdio>
  2. int main() {
  3. char a, b, c, d;
  4. scanf("%c%c%c.%c", &a, &b, &c, &d);
  5. printf("%c.%c%c%c", d, c, b, a);
  6. }

再分肥宅水

这道题需要使用浮点数进行运算,输出时指定了精度。
可以使用占位符 %lf 输入, %.3f 输出。

  1. #include<cstdio>
  2. using namespace std;
  3. int main() {
  4. double t;
  5. int n;
  6. scanf("%lf%d", &t, &n);
  7. printf("%.3f\n%d", t / n, n * 2);
  8. return 0;
  9. }

顺序结构程序设计案例

交换变量

例 2.9 定义两个变量 a 和 b 并输入两个数字存储进它们。 交换这两个变量并输出。

a=b;b=a;行不行呢?

假设给你一杯可乐,一杯雪碧,要如何把这两个杯子中的饮料进行交换呢?

顺序结构 - 图5

t = a; a = b; b = t;

一组相关的短语句也可以写在一行内

算法竞赛的基本格式

一般来讲,对于输入的内容,每个数字之间以空格或者回车隔开。
如图,是洛谷题目 P1425 的输入样例。

请仔细阅读输入格式和输出格式,了解如何输入输出。

顺序结构 - 图6