自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 socket通信技术

socket编程是网络常用的编程,我们通过在网络中创建socket关键字来实现网络间的通信,通过收集大量的资料,通过这一章节,充分的了解socket编程。socket 是“套接字”的意思,是计算机之间进行通信的一种约定,也可以认为是一种技术。学习 socket,就是学习计算机之间如何通信,并能够用编程语言开发出实用的程序。既然是一门技术,由于现在是面向对象的编程,一些计算机行业的大神通过抽象的理念,在现实中通过反复的理论或者实际的推导,提出了抽象的一些通信协议,基于tcp/ip协议,提出大致的构想.

2021-08-14 11:27:11 1671

原创 C语言趣味猜牌术

问题描述魔术师利用一副牌中的13张黑桃,预先将它们排好后迭在一起,并使牌面朝下。然后他对观众说:我不看牌,只要数数就可以猜到每张牌是什么,我大声数数,你们听,不信?你们就看,魔术师将最上面的那张牌数为1,把它翻过来正好是黑桃A,他将黑桃A放在桌子上,然后按顺序从上到下数手中的余牌,第二次数1、2,将第一张牌放在这迭牌的下面,将第二张牌翻过来,正好是黑桃2,也将它放在桌子上,第三次数1、2、3,将前面两张依次放在这迭牌的下面,再翻第三张牌正好是黑桃3,这样依次进行,将13张牌全部翻出来,准确无误。问魔术

2021-08-13 16:42:04 330

原创 C语言求亲密数

问题描述如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。什么叫亲密数先把220的因子都写出来:1、2、4、5、10、11、20、22、44、55、ll0、220,扣除220本身,把这些因子加起来1+2+4+5+10+11+20+22+44+55+110=284然后把284的因子分解出来:1、2、4、71、142、284,扣除284本身,把所有因子相加1+2+4+71+142=

2021-08-13 16:28:23 1978

原创 C语言打印杨辉三角(2种方法,带详解)

杨辉三角是我们从初中就知道的,现在,让我们用C语言将它在计算机上显示出来。在初中,我们就知道,杨辉三角的两个腰边的数都是1,其它位置的数都是上顶上两个数之和。这就是我们用C语言写杨辉三角的关键之一。在高中的时候我们又知道,杨辉三角的任意一行都是的二项式系数,n为行数减1。也就是说任何一个数等于这个是高中的组合数。n代表行数减1,不代表列数减1。如:第五行的第三个数就为=6。现在我们按第一种思路来写:先定义一个二维数组:a[N][N],略大于要打印的行数。再令两边的数为1,即当每行的第一个数和最后一个数为

2021-08-13 15:18:12 9653

原创 C语言统计文件中的字符数、单词数以及总行数

统计文件的字符数、单词数以及总行数,包括:每行的字符数和单词数 文件的总字符数、总单词数以及总行数注意:空白字符(空格和tab缩进)不计入字符总数; 单词以空格为分隔; 不考虑一个单词在两行的情况; 限制每行的字符数不能超过1000。请先看代码:#include <stdio.h>#include <string.h>int *getCharNum(char *filename, int *totalNum);int main(){ cha

2021-08-12 16:51:18 4807

原创 C语言求某一年的某一月有多少天问题

从键盘输入年号和月号,求这一年的这一月共有多少天。分析这个问题需要考虑闰年问题,因为二月份的天数与闰年有关。闰年的判断依据是:若某年能被4整除,但不能被100整除,则这一年是闰年;若某年能被400整除,则这一年也是闰年。请考虑:闰年如何表达?本题13个分支(比1年12个月共需12个分支多1),编程可使用的多分支结构有哪些?else…if、if…else的嵌套和switch使用哪一个最为简捷?是switch吗?代码如下:#include <stdio.h>#include

2021-08-12 16:18:40 764

原创 哈夫曼树的C语言实现

什么是哈夫曼树当用 n 个结点(都做叶子结点且都有各自的权值)试图构建一棵树时,如果构建的这棵树的带权路径长度最小,称这棵树为“最优二叉树”,有时也叫“赫夫曼树”或者“哈夫曼树”。在构建哈弗曼树时,要使树的带权路径长度最小,只需要遵循一个原则,那就是:权重越大的结点离树根越近。在图 1 中,因为结点 a 的权值最大,所以理应直接作为根结点的孩子结点。哈夫曼树相关的几个名词路径:在一棵树中,一个结点到另一个结点之间的通路,称为路径。图1 中,从根结点到结点 a 之间的通路就是一条路径。路径长.

2021-08-12 15:49:38 4679

原创 C语言实现一个简单的冒泡排序算法

问题描述通过两个循环实现冒泡排序全过程,外层循环决定冒泡排序的趟数,内层循环决定两两比较的次数技术要点本实例要求用冒泡法对10个数由小到大进行排序,冒泡法的基本思路是,如果要对n个数进行冒泡排序,那么要进行n-1趟比较,然后在第1趟比较中要进行n-1次两两比较,在第j趟比较中要进行n-j次两两比较。从这个基本思路中就会发现,趟数决定了两两比较的次数,这样就很容易将两个循环联系起来了代码示例#include <stdio.h>#include <stdlib.h&gt

2021-08-10 22:51:13 1206

原创 细讲平衡二叉树的C语言实现

平衡二叉树,又称为AVL 树。实际上就是遵循以下两个特点的二叉树:每棵子树中的左子树和右子树的深度差不能超过 1; 二叉树中每棵子树都要求是平衡二叉树;下面先看代码实现尔后再分析:#include <stdio.h>#include <stdlib.h>//分别定义平衡因子数#define LH +1#define EH 0#define RH -1typedef int ElemType;//定义二叉排序树typedef struct BSTNo.

2021-08-10 17:21:55 337

原创 创建双向链表

问题描述创建一个双向链表,并将这个链表中的数据输出在窗体上,输入要查找的学生姓名,将查找的姓名从链表中删除,并显示删除后的链表。算法分析引用头文件#include <stdio.h>#include <malloc.h>#include <string.h>声明结构体类型typedef struct MyStruct{ char name[20]; struct MyStruct *prior,*next;}st...

2021-08-09 22:56:40 1125

原创 C语言删除星号

问题描述现在有一串字符需要输入,规定输入的字符串中只包含字母和*号。请编写程序,实现以下功能:除了字符串前后的*号之外,将串中其他的*号全部删除。例如,假设输入的字符串为****A*BC*DEF*G********,删除串中的*号后,字符串变为****ABDEFG********问题描述该问题需要对字符串进行操作,而在C语言中没有专门的字符串变量,因此如果需要将一个字符串存放在变量中,则必须使用字符数组,即使用一个字符型数组来存放一个字符串,数组中的每一个元素存放一个字符。算法分析设置

2021-08-06 11:00:34 2605

原创 C语言歌星大奖赛

问题描述在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1〜100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。问题分析求一组数中的最大值、最小值是C语言编程或计算机等级考试中常见的一类问题,这类问题的算法十分简单,定义两个变量max、min分别存储最大值、最小值,利用两个变量与给定的数依次比较的方法求出最大、最小值。但是要注意在程序中判定最大、最小值的变量是如何赋值的。算法设计确定变量初值。变量max、min要分别与每个数进行比较,因此在

2021-08-05 10:57:42 2369

原创 C语言搬山游戏

问题描述设有n座山,计算机与人作为比赛的双方,轮流搬山。规定每次搬山数不能超过k座,谁搬最后一座淮输。游戏开始时,计算机请人输入山的总数n和每次允许搬山的最大数k,然后请人开始,等人输入了需要搬走的山的数目后,计算机马上打印出它搬多少座山,并提示尚余多少座山。双方轮流搬山直到最后一座山搬完为止。计算机会显示谁是赢家,并问人是否要继续比赛。如果人不想玩了,计算机便会统计出共玩了几局,双方胜负如何。问题分析程序中先输入山的座数,要求每次搬山的最大数,从而找出最佳的搬山座数以获得游戏的胜利。程序在若

2021-08-05 10:43:04 203

原创 C语言旅客国籍问题

问题描述在一个旅馆中住着6个不同国籍的人,他们分别来自美国、德国、英国、法国、俄罗斯和意大利这几个国家。他们的名字分别叫A、B、C、D、E和F,要说明的是名字的顺序与前面提到的国籍不一定是相互对应的。现在已知:A和美国人是医生。 E和俄罗斯人是教师。 C和德国人是技师。 B和F曾经当过兵,而德国人从未参过军。 法国人比A年龄大,意大利人比C年龄大。 B同美国人下周要去西安旅行,而C同法国人下周要去杭州度假。现要求根据上述已知条件,编程求出A、B、C、D、E和F各是哪国人。问题分析

2021-08-04 14:08:39 336

原创 C语言黑白子交换

问题描述有三个白子和三个黑子如图1所示布置:白 白 白 黑 黑 黑 图1游戏的目的是用最少的步数将图1中白子和黑子的位置进行交换,使得最终结果如图2所示:黑 黑 黑 白 白 白 图2游戏的规则是:(1) 一次只能移动一个棋子。(2) 棋子可以向空格中移动,也可以跳过一个对方的棋子进入空格。(3) 白色棋子只能往右移动,黑色棋子只能向左移动,不能跳过两个子。请用计算机实现上述游戏。问题分析

2021-08-04 11:00:45 1283

原创 C语言自动发牌程序

问题描述一副扑克有52张牌,打桥牌时应将牌分给4个人。请设计一个程序完成自动发牌的工作。要求:黑桃用S (Spaces)表示,红桃用H (Hearts)表示,方块用D (Diamonds)表示,梅花用C (Clubs)表示。问题分析按照打桥牌的规定,每人应当有13张牌。在人工发牌时,先进行洗牌,然后将洗好的牌按一定的顺序发给每一个人。为了便于计算机模拟,可将人工方式的发牌过程加以修改:先确定好发牌顺序:1、2、3、4;将52张牌顺序编号:黑桃2对应数字0,红桃2对应数字1,方块2对应数字2,梅花

2021-08-03 16:25:13 872

原创 C语言农夫过河

一个农夫在河边带了一只狼、一只羊和一颗白菜,他需要把这三样东西用船带到河的对岸。然而,这艘船只能容下农夫本人和另外一样东西。如果农夫不在场的话,狼会吃掉羊,羊也会吃掉白菜。请编程为农夫解决这个过河问题。问题分析根据问题描述可知,该问题涉及的对象较多,而且运算步骤也较为复杂,因此,在使用C语言实现时,首先需要将具体问题数字化。由于整个过程的实现需要多步,而不同步骤中各个事物所处的位置不同,因此可以定义一个二维数组或者结构体来表不四个对象狼(wolf)、羊(goat)、白菜(cabbage)和农夫(f

2021-08-03 15:57:30 651

原创 C语言实现魔方阵

问题描述编写程序,实现如下表所示的5-魔方阵。17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 问题分析所谓“n-魔方阵”,指的是使用1〜n2共n2个自然数排列成一个n×n的方阵,其中n为奇数;该方阵的每行、每列及对角线元素之和都相等,并为一个只与n有关的常数,该常数为n×(n

2021-08-02 17:00:18 2042 1

原创 C语言在字符串的指定位置插入字符

问题描述请编写程序,实现以下功能:在字符串中的所有数字字符前加一个@字符。例如,输入 A1B23CD45,输出 A@1B@2@3CD@4@5。问题分析在字符串S的所有数字字符前加一个@字符,实现方法。用串S拷贝出另一个串T,对串T从头至尾扫描,对非数字字符原样写入串S,对于数字字符先写一个@符号再写该数字字符,最后,在S串尾加结束标志。使用此方法是牺牲空间,赢得时间。本题采用方法一,下面是完整的代码:#include <stdio.h>int fun(char *s.

2021-08-02 16:41:24 6884

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除