
C/C++
LiuBo_01
这个作者很懒,什么都没留下…
展开
-
C语言 从键盘输入一个日期计算该日期是该年的第几天
从键盘输入年、月、日。在屏幕输出此日期是该年的第几天。原创 2017-10-18 15:35:21 · 16901 阅读 · 0 评论 -
使用typedef关键字进行类型定义
typedef是C语言和数据结构,尤其是数据结构中比较常见的的关键字,typedef主要用来进行类型定义,即为类型重命名。typedef进行类型定义可以简单总结为以下几个方面:一:使用typedef定义基本数据类型 typedef 使用比较多的是多一个数据类型进行命名,即类型重命名。在进行数据类型重命名时,typedef作用是进行简单的类型名替换,例如:typedef int INT;原创 2017-11-24 20:59:26 · 1341 阅读 · 0 评论 -
C语言输出矩阵马鞍点
在矩阵中,一个数在所在行中是最大值,在所在列中是最小值,则被称为鞍点。 下面是输出矩阵马鞍点的源代码://C语言输出矩阵马鞍点#include<stdio.h> void Input_Matrix(int m,int n,int a[100][100]) /原创 2018-01-02 19:14:01 · 7746 阅读 · 1 评论 -
在switch case 语句中能否使用continue关键字?
毋庸置疑,在switch case 语句中不能使用continue 关键字。continue语句的作用是跳出本次循环,转入执行下一次循环。故而,continue语句只能用于循环语句中,而switch case语句为多分支选择语句,不是循环语句,所以在switch case 语句中是不能使用continue 关键字的(除非把continue关键字...原创 2018-03-15 21:09:32 · 14866 阅读 · 0 评论 -
C语言实现猜数字小游戏
源代码#include<stdio.h>#include<stdlib.h>#include<time.h>#include<string.h>#include<Windows.h>void menu(){ printf("##############################\n"); printf("### 1.play 2.exit####\n原创 2018-03-12 17:10:10 · 1099 阅读 · 0 评论 -
三种算法实现:从键盘输入任意正整数,从低位到高位逐位输出各位数字
循环算法#include<stdio.h>int main(){ int n; scanf("%d", &n); int m; int a[100]; int k; while (n >= 10) //当n小于10则直接输出各位数字 { m = n % 10; p原创 2018-03-29 19:21:52 · 25883 阅读 · 1 评论 -
使用蛮力法求解数字迷问题(类似ABCAB*A = DDDDDD)
蛮力法概述 蛮力法是一种简单直接地解决问题的方法,常常直接基于问题的描述>和所涉及的概念定义。是基于计算机运算速度快这一特性,在解决问题时采用的一种“懒惰”的策略。把问题的所有情况或所有过程交给计算机去一一尝试,从中找到问题的解。特性 (1)理论上,蛮力法可以解决可计算领域的各种问题。 (2)蛮力法经常用来解决一些较小规模的问题。 (3)对于一些...原创 2018-03-29 21:15:33 · 7656 阅读 · 0 评论 -
编写算法对输入的一个整数,判断它能否被4、7、9整数
编写算法对输入的一个整数,判断它能否被4、7、9整数,并输出以下信息之一: ① 能同时被4、7、9整除; ② 能被其中两个数(要指出那两个)整除; ③ 能被其中一个数(要指出哪一个)整除; ④ 不能被4、7、9任一个整除。源代码#include<stdio.h>#include<stdlib.h>void pri...原创 2018-03-29 21:27:07 · 3619 阅读 · 0 评论 -
蛮力法求解“狱吏问题”
问题描述:狱吏问题;某国王对囚犯进行大赦,让一狱吏n次通过一排锁着的n间牢房,每通过一次按所定规则转动n间牢房中的某些门锁,每转动一次原来锁着的被打开,原来打开的被 锁上通过n次后,门锁开着的,牢房中的犯人被放出,否则,犯人不得释放。 转动门锁的规则是这样的,第一次通过牢房,从第...原创 2018-03-31 17:30:06 · 2763 阅读 · 0 评论 -
《C语言深度解剖》signed,unsigned关键字后面3个问题的理解
题目1.-0和+0在内存中是怎样存储的? 2.int i =-20 ;unsigned j =10;i+j 的值是多少?为什么? 3.下面的代码有什么问题?unsigned i;for(i=9;i>=0;i--){ printf("%u\n",i);}1.-0和+0在内存中是怎样存储的? 1.假设+0 ...原创 2018-03-21 22:04:51 · 1567 阅读 · 0 评论 -
汉诺塔问题的递归和非递归实现
汉诺塔问题:古代有一个梵塔,塔内有3个基座,A基座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个老和尚想把盘子由A座移到B座,但每次只能移动一个盘子,3个基座上的盘子都始终保持大的在下,小的在上。移动过程中可以利用C基座做辅助,求解其移动过程。 汉诺塔问题是递归算法比较经典的...原创 2018-04-10 21:24:33 · 3717 阅读 · 3 评论 -
循环移位:循环左移和循环右移
循环移位就是把数值变成二进制,然后循环移动的过程;换句话说,循环移位就是将移出的低位放到该数的高位(循环右移)或把移出的高位放到该数的低位(循环左移),左移,和右移动都是对整数进行的操作,在Win32控制台应用程序中,整形占4Byte节32bit。 循环左移的过程: ...原创 2018-04-30 15:35:46 · 83896 阅读 · 11 评论 -
C语言_FILE结构体的简单认识
1、文件和流的关系C将每个文件简单地作为顺序字节流(如下图)。每个文件用文件结束符结束,或者在特定字节数的地方结束,这个特定的字节数可以存储在系统维护的管理数据结构中。当打开文件时,就建立了和文件的关系。在开始执行程序的时候,将自动打开3个文件和相关的流:标准输入流、标准输出流和标准错误。流提供了文件和程序的通信通道。例如,标准输入流使得程序可以从键盘读取数据,而标准输出流使得程序可以在屏幕上输出转载 2018-04-30 17:40:19 · 2046 阅读 · 0 评论 -
C语言头文件大全
ctype.h 字符处理函数: 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换 —————————————- 字符测试是否字母和数字 isalnum 是否字母 isalpha 是否控制字符 iscntrl 是否数字 isdigit 是否可显示字符(除空格外) isgraph 是否可转载 2018-05-01 22:51:15 · 3759 阅读 · 0 评论 -
C语言 system函数
Windows函数windows操作系统下system () 函数详解(主要是在C语言中的应用) 函数名: system功 能: 发出一个DOS命令用 法: int system(char *command);system函数已经被收录在标准c库中,可以直接调用程序例:#include <s...转载 2018-05-02 20:12:04 · 1961 阅读 · 0 评论 -
位运算符:按位与(&),按位或(|),按位异或(^),取反(~)左移(<<)和右移(>>)
数据在内存中是以二进制的形式存放的,计算机存储数据的最小单位是位(bit),一个二进制位可以表示两种状态(0和1),一个字节通常由8位二进制位组成。C语言支持按位运算,按位运算也就是对字节或者字中的实际位进行操做。 C语言的位运算符包括: 运算符 含义 &am...原创 2018-04-26 21:09:56 · 17712 阅读 · 0 评论 -
C语言 转移语句:goto语句,break语句和continue语句
C语言中的转移语句包括goto 语句,break 语句和continue语句,当程序有时出现某种情况,需要提早结束或转移执行其他指定语句时,就需要使用转移语句,转移语句可以使程序的流程按照这三种转移语句的使用方式转移。原创 2017-10-06 21:38:32 · 6298 阅读 · 1 评论 -
C语言 内存动态管理函数
C语言库函数中提供了程序动态申请和释放内存存储空间的库函数。常用的主要包括(1)malloc 函数,(2)calloc 函数,(3)free 函数 ,(4)realloc 函数。原创 2017-11-15 18:37:25 · 847 阅读 · 0 评论 -
使用#define指令和#undef指令进行宏定义和终止宏定义
使用#define指令进行宏定义 宏定义的功能是用一个标识符来表示字符串,标识符称为宏名。在预编译处理时,对程序中出现的宏名,在程序中出现的宏名,都用宏定义中出现的字符串去代替。 #define 指令的形式是: #define 宏名 宏定义内容 凡是在程序中遇到“宏名”预编译处理程序就用这个“宏定义内容”原封不动的替换宏名,进行编译。C语言中宏定义可分为无原创 2017-11-29 20:50:14 · 12287 阅读 · 0 评论 -
C语言 静态变量与自动变量的区别
C语言中使用auto 关键字声明自动变量,使用static关键字声明静态变量。原创 2017-10-19 13:18:18 · 18192 阅读 · 5 评论 -
C语言 婚礼上的谎言
3对情侣参加婚礼,3个新。郎分别为a、b、c,三个新郎分别为 x、y、z。有人想知道究竟谁和谁结婚,于是就问新人中的三位,得到如下提示:a说 他将和X结婚;x说她的未婚夫是c;c说她将和z 结婚。这人时候知道他们都在开玩笑,说的全是假话,那么究竟谁和谁结婚呐。原创 2017-10-22 10:29:01 · 1321 阅读 · 0 评论 -
C语言编译通过,运行结果显示拒绝访问
有时我们使用visio studio 2013编写的程序,特别是一些能访问网络的程序,可能出现可以编译通过,但执行时会输出 拒绝访问的情况,如下图: 这主要是运行程序与后台软件冲突, 被有的安全软件认为是有病毒的,在我们确认程序不存在病毒威胁的情况下,点击添加信任,重新编译运行即可。原创 2017-10-22 11:12:16 · 7741 阅读 · 1 评论 -
C语言 爱因斯坦阶梯问题
著名的爱因斯坦阶梯问题是这样的:有一条长长长的阶梯,,如果你每步跨2阶,那么最后剩1阶;如果你每步跨3阶,那么最后剩2阶;如果你每步跨5阶,那么最后剩4阶;如果你每步跨6阶,那么最后剩5阶;最有当你每步跨7阶时,最后正好走完,一阶也不剩。请问这条阶梯最少有多少阶。原创 2017-10-23 15:50:33 · 23861 阅读 · 2 评论 -
C语言 一元钱的兑换方案
如果将整钱换成零钱,那么,一元钱可兑换成一角,两角或五角,问有多少种兑换方案。原创 2017-10-23 16:16:24 · 10173 阅读 · 0 评论 -
C语言 打印5阶魔方阵
魔方阵,古代又称“纵横图”,是指由自然数组成方阵,方阵的每个元素都不想等,且每行、每列以及主、副对角线上各n个元素之和都相等。原创 2017-10-10 22:28:52 · 10698 阅读 · 1 评论 -
C语言 数据输入/输出函数
C语言的语句是用来向计算机系统发出操作指令的。当要求程序按照要求执行时,先要给它一个指示,这个时候就要使用向程序输入数据的方式。当程序解决了一个问题,还要使用输出的方式将执行的结果显示出来。C语言中常用的数据输入输出函数主要包括:字符数据输入输出函数getchar(),putchar()、字符串输入输出函数gets(),puts()和格式输入输出函数scanf()和printf()函数,使用这些输入输出函数是都要包含头文件 stdio.h。原创 2017-10-15 21:11:00 · 2024 阅读 · 0 评论 -
数据结构 快速排序(用C语言实现)
快速排序是一位英国的计算机学家Hoare在1962年提出, 其算法思想为:从待排序列中选取一个记录(通常选取第一个记录)为枢轴,其关键字设为K1,然后将其余关键字小于K1的记录移动K1前面,而将关键字大于K1的记录移动到后面,结果将待排序列分成两个子表,最后将关键字K1的记录插到其分界线的位置处。将这个过程称为一趟快速排序。通过一次划分后,就以关键字K1的记录为界,将待排序列分成了两个子表,且前面子表中所有记录的关键字均不大于K1,而后面子表中的所有记录的关键字均不小于K1。对于分割后的子表继续上述原则进行原创 2017-11-01 17:06:09 · 2089 阅读 · 0 评论 -
C语言 不使用strcpy 函数实现字符串复制功能
字符串复制是字符串操作中比较常用的操作之一。该函数的功能为:把源字符数组中的字符串复制到目的字符数组中,字符串结束标志“\0”也一同复制。源代码:原创 2017-10-16 17:00:05 · 34309 阅读 · 2 评论 -
C++时钟类 模拟电子时钟 设置时间后可自动更新时间
时钟类是C++相关书籍上比较常见的经典例子,本文在时钟类的基础上进一步完善改进,在显示时间是先进行判断,确定设置时间是否合理,如果合理,则调用自定义Run( )函数完成计时功能,否则输出提示。相比于常见C++时钟类,增加了设置时间后进行判断和自动更新时间功能。原创 2017-11-11 00:37:22 · 6821 阅读 · 1 评论 -
C语言 不使用strcat函数实现连接两个字符串功能
字符串连接就是将一个字符串连接到另一个字符串的末尾,使其组合成一个新的字符串,在字符串处理函数中,strcat 函数具有字符串连接功能。下面是用C语言实现不使用是strcat 函数实现连接两个字符串的功能。原创 2017-10-16 19:00:52 · 53923 阅读 · 2 评论 -
由排序算法浅析C++函数模板
C++最重要的特点之一就是代码重用,为实现代码重用,代码必须具有通用性。通用代码应不受数据类型的影响,并且可以自动适用数据类型的变化。这种程序设计类型称为参数化程序设计。模板是C++支持参数化程序设计的工具,通过它可以实现参数化多态性。所谓参数化多态性,就是将程序所处理的对象的类型参数化,使一段程序可以用于处理多种不同类型的数据。以排序算法为例:排序算法是写程序过程中比较常用的算法,如果我们定义了一个整形数组,例如:int a[10];用来存储我们需要进行排序的数列,如果数据不是int 类型,而是别的类型(原创 2017-11-13 18:31:22 · 461 阅读 · 0 评论 -
C语言从键盘输入一个十进制数将其转换为任意进制数输出
将十进制数n转换为r进制数的方法是,n除以r取余数作为转换后的数的最低位。若商不为0,则商继续除以r,取余数做最低位,直到商为0为止。 其中,对于16进制大于9的六个数用A、B、C、D、E、F表示。将所得余数序列转换成字符保存在字符数组中。字符‘0’的ASCⅡ码是48,故余数0~9只要加上48就变成字符‘0’~‘9’;余数中大于9的数10~15要转换成字母,加上55就转化成'A'、'B'、'C'、'D原创 2017-11-18 13:18:53 · 21514 阅读 · 0 评论 -
常用的转义字符及含义
转义字符在字符常量中是一种特殊的字符。转义字符是以‘\’为开头的字符,后面跟一个或几个字符,其意思是将反斜杠‘\’后面的字符转变成为另外的意义。如:\n 不代表字母n而作为换行符。原创 2017-11-20 20:35:17 · 3747 阅读 · 0 评论 -
浅析C语言auto关键字和C++ 中的auto关键字
最近在读《C++ Prime》,不禁想感叹一句:C++真是一种美丽的语言!!!!!!! C++提供了相比于 C语言更加丰富的库函数,功也更加强大。举个例子吧。原创 2018-06-22 12:36:35 · 45020 阅读 · 4 评论