【C++算法快速上手】顺序结构(更新中)

0. 前言

本系列文章是作者为了快速复习算法知识所作,基于洛谷的官方题单,使用的编程语言为C++,学习方法较为野蛮,如有谬误,欢迎各位在评论区指正。

1. 顺序结构基础

本文内容基于洛谷的顺序结构

1.1 C++编程格式

假设你是一个曾经掌握过C++,但像作者一样N年没有使用过,那么首先我们需要知道C++编程的格式规范。对于最简单的输出hello world程序,其编程表示为:

# include <iostream>	// 头文件,包含常用的函数
# include <bits/stdc++.h>	// 万能头文件
using namespace std;	// 声明命名空间

int main(){	// 主函数
	char a[50];
	cin>>a;	// 输入
    cout<<a<<"Hello,World!";	// 输出
    return 0;
}

1.2 格式化输出

所谓的格式化常考察控制输出的位数、长度、填充等,参考博客

// 头文件
# include <iomanip>
// 控制输出格式
cout << setw(2) << setfill('0') << name;
// setw(n)设置输出宽度为n,仅生效一次,因此对于每个输出都需要设置一次宽度;
// setfill('c')设置填充字符为c,作用范围直至下一次setfill被使用,因此不用每次都进行设置。
// 设置小数位数为n
cout << setprecision(n) << fixed << x;	// 其中fixed保证小数末位为0时仍输出。
printf("%.nlf",x);

2. 经典题目

2.1 【深基2.例6】字母转换

题目描述

输入一个小写字母,输出其对应的大写字母。例如输入 q[回车] 时,会输出 Q。

样例 #1

样例输入 #1
q
样例输出 #1
Q

题解

这个从ASCII码的思路解题比较简单,需要复习一下ASCII码的知识。对于常用的ASCII码规则包括:

  • 数字0对应的ASCII码为30;
  • 字符A对应的ASCII码为65,则字符Z对应的ASCII码为90;
  • 字符a对应的ASCII码为97。

在这里插入图片描述
因此本题由小写字符向大写字符的转换可以直接通过修改ASCII码值的输出得到:

# include <iostream>
using namespace std;

int main(){
    char c;
    cin>>c;
    cout<<char(c-32);// 注意!需要转换成字符类型,不然就输出整型喽!
    return 0;
}

对于这道题ASCII码表记不住也没关系。直接计算一下呗!

# include <iostream>
using namespace std;

int main(){
    char c;
    cin>>c;
    int value = 'a' - 'A'; // 计算差值
    cout<<char(c-value);
    return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值