顺序结构
题2.2 英文字母
char 类型 是一种存储字符的变量。
计算: M 在字母表中是第几位。
#include <iostream>
using namespace std;
int main() {
int ans1;
ans1 = 'M' - 'A' + 1 ;
cout << ans1 << endl;
}
计算: 第18位是什么字母
#include <iostream>
using namespace std;
int main() {
char ans2;
ans2 = 'A' + (18 - 1);
cout << ans2 << endl;
}
char 字符 要用
' '
单引号进行括起来。
题2.5 数字反转
解法一:
解法 1: 分离出这个数字的所有位数, 乘 10 把这个它变成一个四 位数整数, 模 10 取余数, 获得这个四位数的个位数字通过类似的办法获得这个四位数的其他位数
#include<iostream>
using namespace std;
int main() {
double p; // 输入的数字
int q, a, b, c, d; // 转换成的四位数和分离出来的4位数字
cin >> p;
q = int(p * 10);
a = q / 1000; // 千位
b = q / 100 % 10; // 百位
c = q / 10 % 10; // 十位
d = q % 10; // 个位
cout << d << "." << c << b << a << endl;
return 0;
}
解法 2: 既然学习过了 char 类型,那么可以把输入视为 5 个字符, 然后直接输出。
#include<iostream>
using namespace std;
int main() {
char a, b, c, dot, d;
cin >> a >> b >> c >> dot >> d;
cout << d << dot << c << b << a << endl;
}
scanf | printf 占位符
用于 格式化输入输出 数据的方法之一。
可以指定不同格式,如保留多少位浮点数、输出的数据占多宽的空间,等等。
这些占位符常用于 C 语言风格的输入输出方式,即scanf/printf
。
这些占位符,都以百分号“%
”为开头。
其它格式化输出
方法3 :使用 scanf 与 printf 实现数字反转(p5705)。
#include <cstdio>
int main() {
char a, b, c, d;
scanf("%c%c%c.%c", &a, &b, &c, &d);
printf("%c.%c%c%c", d, c, b, a);
}
再分肥宅水
这道题需要使用浮点数进行运算,输出时指定了精度。
可以使用占位符 %lf 输入, %.3f 输出。
#include<cstdio>
using namespace std;
int main() {
double t;
int n;
scanf("%lf%d", &t, &n);
printf("%.3f\n%d", t / n, n * 2);
return 0;
}
顺序结构程序设计案例
交换变量
例 2.9 定义两个变量 a 和 b 并输入两个数字存储进它们。 交换这两个变量并输出。
a=b;b=a;
行不行呢?
假设给你一杯可乐,一杯雪碧,要如何把这两个杯子中的饮料进行交换呢?
t = a; a = b; b = t;
一组相关的短语句也可以写在一行内
算法竞赛的基本格式
一般来讲,对于输入的内容,每个数字之间以空格或者回车隔开。
如图,是洛谷题目 P1425 的输入样例。
请仔细阅读输入格式和输出格式,了解如何输入输出。