C++
C++
起风了
计算机科学与技术学院18软件工程专业渣渣铭
目前大三,不考研,专攻Java,追求:成为全栈攻城狮。
展开
-
大整数操作——四则运算、进制转换、比较大小
对于一道A+B的题目,如果A和B在int型范围内,这个程序会很容易写出,但是A和B是几百位甚至几千位的整数呢?不管是int型还是长整型都没有办法进行运算。这时就只能模拟四则运算的过程。在本篇博客中,博主主要就自己的认识给大家分享一下关于大整数的操作,可能会因为能力问题而解释不到位,希望读者多多包涵。大整数的存储先来看一看大整数的存储。为了方便获取大整数的长度,一般会定义一个结构体,用于存放大整数及它的长度,此外还需要初始化结构体,即用一个构造函数。在这里我们用一个int型数组来存放大整数:d[1000原创 2020-06-26 16:33:31 · 1918 阅读 · 0 评论 -
PAT乙级 | 1019 数字黑洞 (20分)(精简易懂)
题目描述给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从6767开始,将得到7766 - 6677 = 10899810 - 0189 = 96219621 - 1269 = 83528532 - 2358 = 61747641 - 1467 = 6174... ..原创 2020-06-20 11:08:10 · 2191 阅读 · 0 评论 -
C\C++ | FILE文件基本操作函数
C\C++FILE文件操作函数首先,我们先来了解一下打开文件时要用到的参数:标志含义r,rb以只读的方式打开文件w,wb以只写的方式打开文件,若不存在,则新建文件,否则文件被截断(覆盖)a,ab以追加的方式打开文件,若不存在,则新建该文件r+,r+b,rb+以读写方式打开文件w+,w+b,wb+以读写方式打开文件,若不存在,则新建文件,否则文件被截断(覆盖)a+,a+b,ab+以读和追加方式打开文件,若不存在,则新建文件文件指针的定义原创 2020-06-18 18:43:07 · 16434 阅读 · 0 评论 -
蓝桥杯——排列序数(全排序next_permutation()函数解决)
排列序数如果用a b c d这4个字母组成一个串,有4!=24种,如果把它们排个序,每个串都对应一个序号:abcd 0abdc 1acbd 2acdb 3adbc 4adcb 5bacd 6badc 7bcad 8bcda 9bdac 10bdca 11cabd 12cadb 13cbad 14cbda 15cdab 16cdba 17…现在有不多于10个两两不同的小写字母,给出它们组成的串,你能求出该串在所有排列中的序号吗?输入格式一行,一个串。输出格式原创 2020-06-15 12:25:13 · 1591 阅读 · 0 评论 -
Codeup——582 | 问题 D: String Subtraction (20)(C++STL解决)
题目描述Given two strings S1 and S2, S = S1 - S2 is defined to be the remaining string after taking all the characters in S2 from S1. Your task is simply to calculate S1 - S2for any given strings. However, it might not be that simple to do it fast.输入Each in原创 2020-06-12 21:26:19 · 791 阅读 · 0 评论 -
Codeup——581 | 问题 B: 特殊排序(C++STL解决)
题目描述输入一系列整数,将其中最大的数挑出,并将剩下的数进行排序。输入输入第一行包括1个整数N,1<=N<=1000,代表输入数据的个数。接下来的一行有N个整数。输出可能有多组测试数据,对于每组数据,第一行输出一个整数,代表N个整数中的最大值,并将此值从数组中去除,将剩下的数进行排序。第二行将排序的结果输出。样例输入55 3 2 4 1样例输出51 2 3 4提示如果数组中只有一个数,当第一行将其输出后,第二行请输出"-1"。思路:这个题我是用原创 2020-06-10 22:17:50 · 1129 阅读 · 0 评论 -
Codeup——580 | 问题 C: 字符串的查找删除(C++STL解决)
题目描述给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。输入输入只有1组数据。输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。输出删除输入的短字符串(不区分大小写)并去掉空格,输出。样例输入in#include int main(){printf(" Hi ");}样例输出#cludetma(){prtf("Hi");}提示注:将字符串中的In、IN、iN、in删除。思路:这个题有点麻烦,原创 2020-06-10 21:47:10 · 827 阅读 · 0 评论 -
Codeup——580 | 问题 D: 单词替换(C++STL解决)
题目描述输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。输入多组数据。每组数据输入包括3行,第1行是包含多个单词的字符串 s,第2行是待替换的单词a,(长度<=100)第3行是a将被替换的单词b。(长度<=100)s, a, b 最前面和最后面都没有空格。输出每个测试数据输出只有 1 行,将s中所有单词a替换成b之后的字符串原创 2020-06-10 20:55:46 · 1016 阅读 · 0 评论 -
C++——STL | next_permutation讲解
next_permutation()头文件:#include <algorithm>涵义:给出一个序列在全排列中的下一个序列。例如,当n==3时的全排列位:123132213231312321这样231的下一个序列就是312。具体代码如下:#include <iostream>#include <algorithm>using namespace std;int main(){ int a[10]={1,2,3}; do{ co原创 2020-06-09 22:31:32 · 1224 阅读 · 0 评论