C++
豆豆花
这个作者很懒,什么都没留下…
展开
-
【C++ Primer第五版】——第六章 编程题
6.3:编写你自己的fact函数,上机检查是否正确。#include <iostream>int fact(int val){ int ret = 1; if (val > 1){ //大于1,求和 while (val > 1){ ret += val--; } return ret; } else //小于1,输出数值本身 ret...原创 2019-12-04 17:29:30 · 207 阅读 · 0 评论 -
【C++ Primer第五版】——第五章 编程题
5.9:编写一段程序,使用一系列if语句统计从cin读入的文本中有多少元音字母。#include <iostream>void main(){ int acnt = 0, ecnt = 0, icnt = 0, ocnt = 0, ucnt = 0; char ch; while (std::cin >> ch){ if (ch == 'a') ...原创 2019-04-24 22:08:58 · 510 阅读 · 1 评论 -
【C++ Primer第五版】——第四章 编程题
4.21:编写一段程序,使用条件运算符从vector<int>中找到哪些元素的值是奇数,然后将这些奇数值翻倍。#include <iostream>#include <vector>void main(){ std::vector<int> ivec = { 0, 1, 2, 3, 4, 5 }; for (auto &c ...原创 2019-04-22 21:00:06 · 202 阅读 · 0 评论 -
【C++ Primer第五版】——第三章 编程题
3.2:编写一段程序从标准输入中一次读入一整行,然后修改程序使其一次读入一个词。#include <iostream>#include <string>int main(int argc, char* argv[]){ std::string line; //一次读入一整行 //while (getline(std::cin,line)) //std...原创 2019-04-18 11:25:31 · 1091 阅读 · 0 评论 -
【C++ Primer第五版】——第二章 编程题
2.18:编写代码分别更改指针的值以及指针所指对象的值。#include<iostream>int main(int argc, char* argv[]){ int a = 23, b = 24; int *p = &a; std::cout << p << std::endl; std::cout << *p <...原创 2019-04-15 10:33:39 · 196 阅读 · 0 评论 -
【剑指offer】顺时针打印矩阵
题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.解析:主要考查逻辑性,对各种边界条件的判断。一共有四种情况:矩阵有多行多列 矩阵为一行多列 矩阵为...原创 2018-09-03 20:14:52 · 163 阅读 · 0 评论 -
【剑指offer】二叉搜索树与双向链表
题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。解析:递归思想。中序遍历。pLast指向的是刚遍历过的节点的地址,因为要复制二叉搜索树中的内容给双向链表。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right...原创 2018-09-04 10:34:11 · 90 阅读 · 0 评论 -
【剑指offer】最小的k个数
题目:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。解析:总的来说,两种解法。解法一:利用sort()对输入的数据进行排序,方法简单,适用于小量数据,会改变输入数组。sort()的用法:sort(begin,end,compare),compare为人为设定的排序方式,默认是从小到大。class ...原创 2018-09-06 10:21:08 · 132 阅读 · 0 评论 -
【剑指offer】连续子数组的最大和、1~n整数中1出现的次数
题目1:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序...原创 2018-09-07 17:21:29 · 192 阅读 · 0 评论 -
结束输入的问题
有时候会遇到不知道输入数个数的问题,需要不断读入新的数据,以简单的求和为例:#include <iostream>int main(){ int sum = 0, value = 0; while (std::cin >> value) sum += value; std::cout << "sum is: " << sum&l...原创 2018-12-06 22:13:03 · 340 阅读 · 0 评论