编程练习
樊同学爱编程
吾生也有涯,而知也无涯。你必须不懈努力,才能看起来毫不费力。
展开
-
编写代码实现strpbrk()函数。
自己动手编写代码实现strpbrk()函数。strpbrk()函数是干什么的呢? strpbrk()函数解释如下: strpbrk是在源字符串(s1)中找出最先含有搜索字符串(s2)中任一字符的位置并返回,若找不到则返回空指针。 返回s1中第一个满足条件的字符的指针,如果没有匹配字符则返回空指针NULL。题目要求: 请编写一个函数,它在一个字符串中进行搜索,查找所有在一个给定字符集合中原创 2018-02-02 10:24:05 · 726 阅读 · 0 评论 -
自己实现栈,通过此栈实现一个计算器
题目:实现一个计算器,既能进行加减乘除的基本运算,又能支持带括号(只需要支持小括号即可)的优先级计算。 要求:使用面向对象思想,使用栈的数据结构实现括号匹配,栈的存储结构要求使用链表结构而非线性结构。 例如: 输入: 3 * (2 * 4 – 20 /5)+ 7 结果: 19首先使用链表实现栈,为了方便编程,设计的栈的结构是这样的: 代码如下:#include <...原创 2018-04-08 19:59:22 · 3086 阅读 · 1 评论 -
关于水仙花数
今天做ACM题,有一道关于水仙花数的题要求:请判断一个数是不是水仙花数。其中水仙花数定义各个位数立方和等于它本身的三位数。例如:1^3 + 5^3+ 3^3 = 153格式:输入(以0结尾):153370158输出:YesYesNo#include using namespace std;原创 2017-06-07 23:24:35 · 289 阅读 · 0 评论 -
求最大公约数
求N个数最大公约数今年人人网笔试题要求:求N个数的最大公约数格式:输入:33 6 9输出:3#include using namespace std;int main(){ int *a = new int; int n=0,min=10000,count=0; int temp;原创 2017-06-08 12:42:51 · 369 阅读 · 0 评论 -
实现一个简单计算器,表达式为字符串表示
实现一个简单计算器,表达式为字符串表示要求:实现一个简单计算器,表达式是字符串,如“#(2*(1+3)+8)/4#”,以‘#’做标志位 如: 输入#(2*(1+3)+8)/4#输出 4实现思路:用栈实现。将输入的中缀表达式通过栈的方式改为后缀表达式计算。如 (2*(1+3)+8)/4 可先将“(”压入栈1,“2”压入栈2,“*”继续压入栈1,“(”原创 2017-06-19 20:14:22 · 6409 阅读 · 0 评论 -
使用面向对象思想建立一个学生管理系统
题目要求: 学校招生办在录取当年新生时已经为每个新生建立一个新生的资料库,其中包含每位新生的基本资料:学号(long)、姓名(char [20])、性别(enum)、年龄(int )、住址(char[30])、主修专业(char[30])。 新生主修专业所属系又在学生基本资料的基础上为每位该系新生建立一个主修课程表,设有新生主修课程名称(char[60,30])和成绩(float[60])原创 2017-08-10 11:34:37 · 2780 阅读 · 2 评论 -
运用多线程知识写一个火车站售票系统
题目简介: 在现实世界中有一种数据模型,模拟生产者与消费者模型。如火车票售票系统,将票据的数量录入服务器我们称之为“生产”了若干车票。各地终端会共享这些车票信息去售票。直到车票售票完,则提示无票可卖。 本练习题,在同一台电脑上使用不同的进程(独立运行的应用程序)模拟火车票售票系统。将录入存放火车票的独立运行程序我们称之为服务端。一台电脑只能运行一个实例。其他负责售卖火车票的程序称为客户端。客户原创 2017-08-10 11:51:55 · 1773 阅读 · 0 评论 -
编写一个通信录
题目要求: 编写一个关于通讯录的程序 1. 可输入姓名、电话(可多个)、通讯地址、Email等必要的信息; 2. 可根据姓名查询电话等信息(最好还能根据电话查询姓名),并显示在屏幕上; 3. 要求通讯录保存成文件,如张三.txt,用文件流的方式实现; 4. 最好用面向对象方法编写。开发环境: QT Creator 但是建立的是纯C++工程//person.h原创 2017-08-10 13:31:22 · 1920 阅读 · 0 评论 -
兔子繁衍问题
今天做了阿里编程测验,有一道兔子繁衍问题。 题目要求: 1. 猎人把一对兔子婴儿(一公一母称为一对)放到一个荒岛上,两年之后,它们生下一对小兔,之后开始每年都会生下一对小兔。生下的小兔又会以同样的方式继续繁殖。 2. 兔子的寿命都是x(x>=3)年,并且生命的最后一年不繁殖。 3. 如果岛上的兔子多于10对,那么猎人会每年在兔子们完成繁殖或者仙逝之后,从岛上带走两对最老的兔子。 请问y年原创 2017-08-15 15:58:41 · 3117 阅读 · 0 评论 -
编写代码将字符串反向排列输出
题目要求: 编写函数reverse_string(),它的原型如下: void reverse_string(char *string); 函数把参数字符串中的字符反向排列。请使用指针而不是数组下标,不要使用任何C函数库中用于操纵字符串的函数。 提示:不需要声明一个局部数组来临时存储参数字符串。忽略题目要求的话,此处应该有多种解决方案 1.先求出字符串长度(两种方法,使用库函数str原创 2018-02-05 09:19:42 · 4206 阅读 · 0 评论 -
编写一个函数,删除一个字符串的一部分
题目要求: 请编写一个函数,删除一个字符串的一部分。函数的原型如下: int del_substr(char *str, char const *substr); 函数首先应该判断substr是否出现在str中,如果它并未出现,函数就返回0;如果出现,函数应该把str中位于该子串后面的所有字符复制到该子串的位置,从而删除这个子串,然后函数返回1。如果substr多次出现在str中,函原创 2018-02-02 17:36:52 · 5588 阅读 · 1 评论 -
C++实现日志库
C++实现一个日志库,满足以下要求: 1. 日志信息分级:FATAL(致命错误)、ERROR(一般错误)、WARN(警告)、INFO(一般信息)、DEBUG(调试信息) 2. 记录日志信息支持记录到文件、控制台、数据库(要求能支持多种数据库,比如 MSSQL MySQL SQLite等) 3. 要求能够方便配置该功能:比如 开关日志,仅记录某级别以上的日志,日志记录到哪里的功能。 4...原创 2018-05-11 14:21:12 · 6282 阅读 · 1 评论