自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 电子通讯录(2)

昨天仅仅写了个只能实现添加好友的,今天把剩下的列举好友、搜索好友和删除好友全都加进来了。但仅仅是个初版,界面还是需要调整好的。#include #include #define OK 0#define ERROR -1#define MALLOC_ERROR -2typedef struct friend{ int id;

2017-08-06 23:27:24 444

原创 基数排序

#include#includeint getlooptimes(int num){ int count = 1; int temp = num/10; while(temp!=0) { count++; temp = temp/10; } return count;}int findmaxnum(int *p,int n){ int i; int max

2017-08-05 19:03:47 266

原创 归并排序

归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并过程为:比较a[i]和b[j]的大小,若a[i]≤b[j],则将第一个有序表中的元素a[i]复制到r[k]

2017-08-05 19:03:06 284

原创 快速排序

#includevoid quicksort(int a[],int left,int right){ int i,j; if(left < right) { i = left; //left、right用于限定要排序数列的范围,temp即为中心元素 j = right; int temp = a[l

2017-08-05 18:59:50 241

原创 电子通讯录(1)

这是一个基于链表的项目,由于之前学习了怎样来创建一个单链表,在一个基础上就想来做一个电子通讯录玩玩。项目需求: 制作一个电子通讯录,通过该通讯录能存入好友 ID 号、姓名(英文) 、手机号码、家庭住址、公司电话。模块包括  :  主界面:主要显示软件功能。A)  添加好友信息。B)  列表好友信息。(包含排序功能)C)  搜索好友D)  删除好友  添加

2017-08-05 18:56:11 567

原创 单链表(表头结点)

#include #include #define OK 0#define ERROR -1#define MALLOC_ERROR -2typedef int ElementType; //c语言中没有ElementType这个数据类型,讲数据结构时,用这个来泛指某一种数据类型typedef struct node{

2017-08-04 20:38:35 1563

原创 单链表(头指针)

#include #include //malloc的头文件#define OK 0#define ERROR -1#define MALLOC_ERROR -2typedef int ElementType;typedef struct node{ ElementType data; //结

2017-08-04 20:24:14 688

原创 基于51单片机开发板的应用(数码管续1)

显示0-99    用8位共阴数码可以通过动态扫描显示0~99,考虑十位和个位,需要用到数组来存放。其中的重要代码是display()函数,firstbit表示从第n个数开始显示,num表示显示的个数,所以若是改变数组tempdata的数组元素,则可以显示更多位的数字,并且8位数码管可以任意选择数码管。主函数中的j++,j==500,是为了在测试硬件时增加循环的次数而达到显示时更加清晰。

2017-06-05 22:09:26 429

原创 基于51单片机开发板的应用(数码管)

在对LED灯的应用有了一定的了解之后,我开始学习了一些关于数码管的应用。   在我的开发板上,有独立共阳管和八位共阴管 。数码管从高位到低位的段码依次是h(dp),g,f,e,d,c,b,a共八位。共阴管是“1”表示亮,“0”表示灭,而共阳管则是相反的。顺便提一句,若是要检测数码管是否完好,可以用数码管“8”来检测。    若是要在数码管上显示0~F,则可以用一套固定的十六进制数表示,可以

2017-06-04 23:13:48 5708

原创 基于51单片机开发板的应用(LED灯)

再有了C语言和C++的一些应用能力与项目经验之后,我对单片机有了一定的兴趣。买了一套开发板,跟着视频学习了一段时间。    之前学校里也上过关于单片机的课程,而且还是我们班主任上的,听得那叫一个认真啊,再有了一些原理、概念的了解之后,我很想能做出一点东西出来,就先开始自己学习,毕竟学校里是以理论为主,而对于这么一门侧重于硬件的学科,还是实际动手能理解的更透彻。    而对于单片机,最简单的

2017-06-03 22:47:30 3964

原创 用c语言实现1+2+3+...+n求和

在做蓝桥杯题的时候,做到最简单的等差数列求和,我就先用for循环写了一个程序,其中的核心就是很简单的:sum += i;具体的函数如下:#include int main(){ int n; int i; int sum = 0; printf ("输入一个整数 n = "); scanf ("%d",&n); for (i = 1; i <= n; i++)

2017-02-15 22:56:56 64322 3

原创 用c++对一个5位数的任意整数,求出其降序数。例如,整数是82319,则其降序数是98321。试建立一个类DescendNUM,用于完成该功能。

具体要求如下:(1)私有数据成员int n:存放5位数的整数。int a[5]:存放其元素的降序排列值。(2)公有成员函数DescendNUM(int x=0):构造函数,用参数x初始化n。void decompose ():将n的各位数分解到a数组。void dsort():将a数组排成降序。void show():显示元素及其降序数。(3)在主函数中输入一个

2017-01-23 20:52:54 1019

原创 用c++建立一个形状类Shape作为基类,派生出圆类Circle和矩形类Rectangle,求出面积并获取相关信息。

具体要求如下:(1)形状类Shape(a)保护数据成员double x,y:对于不同的形状,x和y表示不同的含义,如对于圆,x和y均表示圆的半径,而对于矩形,x表示矩形的长,y表示矩形的宽。访问权限定义为保护类型是为了能被继承下去,以便派生类能直接访问x和y。(b)公有成员函数构造函数Shape(double _x,double _y):用_x、_y分别初始化x、y。dou

2017-01-22 21:01:30 13962 1

原创 用c++建立一个矩阵类Matrix,存储一个4*4的矩阵并能在矩阵中查找某数。

要求如下:(1)私有数据成员int p[4][4]:存储一个4*4的矩阵的值。int n:矩阵的行数。4int x:存储根据查找要求在矩阵中要查找到的某数。int row,col:存储该数所在的行、列值。(2)公有成员函数构造函数:初始化n的值为4,x、row、col为0。void input(int a[][4]):将一个矩阵赋给该对象中的数组。void fi

2017-01-20 21:03:44 12959

原创 用c++建立一个类SUM,求二维数组外围各元素的和,并且输出数组各元素及所求之和。

具体要求如下:(1)私有数据成员int a[4][4]:二维数组,存放要处理的数据。int s:存放数组a外围各元素的和。(2)公有成员函数SUM(int b[4][4]):构造函数,用数组b初始化数组a。void process():求二维数组外围各元素的和s。void print():按行列方式输出数组a的各元素值,并输出外围各元素的和。(3)在主函数中完成对该

2017-01-19 21:03:50 1145

原创 用c++建立一个类PrimeNUM,求指定数据范围内的所有素数(质数)。

具体要求如下:(1)私有数据成员int data[25]:依次存放在指定范围内求出的所有素数。int low,high:存放指定的数据范围的下限和上限。int num:存放low与high之间的素数个数。(2)公有成员函数PrimeNUM(int _low,int _high):构造函数,用参数_low和_high初始化low和high,同时初始化num。int i

2017-01-18 22:51:48 3765

原创 “钳工”五日游

上周我们班金工实习非常“幸运”的被派到了钳工组,因为钳工需要我们手工操作,在别的机床上不能使用的手套在这边却是派上大用场了。而我们上周需要把一个铁块制作成一个羊角锤,我们也都看过那种羊角锤,很小巧精细,可要加工出它却是不容易的,尤其是对女生来说,力气不够大,要想又快又好的加工出来真是不小的难题!         带我们班做钳工的老师是个有趣的小老头,他给我们上课的时候操的一口普通话加不太能听懂

2017-01-05 20:32:29 291

原创 失之毫厘,谬以千里

今天是我们磨工的最后一天实训,主要任务就是先量出自己的工件尺寸,老师会根据每个人工件的尺寸的给出我们要加工的标准值,误差工伤在(-0.005mm~+0.005mm)之间,突然我发现1mm在我眼中是如此大。          在早上时,我的工件是37.090mm,要磨成37.000mm。这就要求我要磨掉0.09mm,大的转盘每一小格是0.005mm,所以我要小心顺时针移动18格,这个标准对我来说

2016-12-23 16:16:26 252

原创 勤能补拙

今天我被分到磨工组工作,看之前小组的操作,我以为这个应该很简单,可对于反应能力不行的我来说却是一大挑战。      首先我们围在一台平面磨床旁,看老师在机子上给我们示范操作,由于光线原因,在老师讲解两个手柄时,我既没看见手柄的样子,也看不清老师是怎么操作的,导致我对这两个手柄似懂非懂。在老师讲完后,把我们进行分组,要求我们每个人都必须上机操作,然后一个一个的考核。按学号我和另外四个同学一组。我

2016-12-22 21:01:07 311

原创 胆大心细去“干活”

今天是我们组在牛头刨床上干活的最后一天,每个组的刨床的型号都不一样,我们组的型号是B650,由此可见,我们的机床应该是最开始的牛头刨床,一次重大改进都没有,什么都需要手动控制,电源,齿轮,上下行程,前后行程调节等等,我们三个女生都需要花费很大功夫来调节行程,对刀。因为我们加工的铁块工件要有一定的长度和宽度要求,我们就不得不一遍遍的刨,但每次下降的高度又不能太高,刨床的冲击力会把铁块撞飞。这就让我想

2016-12-21 15:38:07 400

原创 第一天刨工实习

我们班今天去金工实习实验基地,第一次看到那么多机床,闻到独属于机器的气息,这与我想像中的还是不同的。我原以为就是像车间里的一样,没想到就是像我们在实验室里一样,会有老师来给我们先上课,给我们讲解一些理论知识,再带我们去牛头机床和插床上操作演示给我们看。唯一区别于学校里的老师的是给我们上课的都是一些有丰富一线经验的技术人员,他们都有自己独特的教学风格。       一个是上了年纪的男老师,他给我

2016-12-19 20:24:58 633

原创 读取一个5*5数组,然后显示每行的和与每列的和

要读取一个5*5的二维数组,首先应该定义一个二维数组并要将之初始化赋值。因为需要读取这一数组,就需要利用一个二重循环。将行号确定,列号改变,在遍历列号时再其后加上换行,之后就可以在终端打印出数组了。     要求显示每行每列的和,就要定义两个整型的变量来存放和的值,就还需要两个二重循环。若是用i表示行,j表示列,那么算每行的和就是在循环中保证i不变时,j变化;而算每列的和是保证j不变,i变化。

2016-12-18 21:35:02 4959 1

原创 蓝桥杯之取球问题

今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。    我们约定:          每个人从盒子中取出的球的数目必须是:1,3,7或者8个。     轮到某一方取球时不能弃权!      A先取球,然后双方交替取球,直到取完。      被迫拿到最后一个球的一方为负方(输方) 

2016-12-16 17:03:13 497

原创 输入n个整数,输出其中最小的k个。

做这道题要借助冒泡排序,将这n个数放在一个定义的数组中,对其进行排序就可以输出前k个较小的数。由于一个数组的大小已经提前定义好了,就还需定义一个int型变量m,将n赋值给m,当m大于0时,用m自减1就可以得到这n个数。源程序如下:#include int main(){ int n; int k; printf ("Please input the values of n and k:

2016-12-14 19:31:33 1441

原创 将字符串逆序

如何将I am a student逆序成student a am I?     字符串逆序首先考虑要用到指针指向字符串的开头,然后还需要一个指针来遍历字符,将这一指针走到'\0',然后再往回走一个字符到达这个字符串的最后一个字符,指向开头的指针往后走,指向末尾的指针往前走,分别交换这两个指针指向的值,直到开头指针大于末尾指针,这就实现了将字符串倒置为“tneduts a ma I”,这是第一步

2016-12-12 22:43:41 529

原创 手动创建两个文本文件text1.txt和text2.txt,按要求创建text3.txt

实现在text1.txt和text2.txt文件中除去首行和末尾对应的数据,要求三个文本内容如下:        text1                       text2                          text3        begin                      begin                         begin   

2016-12-12 10:56:57 1948

原创 实现字符串的复制功能

之前写过用for循环来来实现字符串strcpy函数的功能,今天我又学会了一个用指针作为函数的返回值将字符串2复制给字符串1,通过调用函数来实现功能。程序如下:#includechar *strcpy (char *str1,char *str2){ int i; for (i = 0; str2[i] != '\0'; i++) { str1[i]

2016-12-10 21:24:30 1841

原创 创建单链表并赋值,要求遍历能输出1~9

用表头创建单链表,用头插法创建链表,遍历的结果是9 8 7 6 5 4 3 2 1      具体的源程序如下:#include #include #define OK 0#define ERROR -1#define MALLOC_ERROR -2 typedef int ElementType;typedef struct node{

2016-12-09 21:04:18 10328 1

原创 打印菱形星号组合

*   * *  *   * *     *  *   *   * *    * 要打印出如上图所示的菱形,我曾想了一个非常没有技术含量的程序,就是先列举出来,再用puts()打印,程序如下:#include int main(){ int i; char lx[8][8] = {{' ',' ',' ','*',' ',' ',' '},

2016-12-08 19:15:29 578

原创 将十进制数转化成八进制数

遇到一道将十进制转化成八进制数的C语言题,并且不能用%o,这就需要明白如何将十进制转化成八进制。    一般的算法是将这个数对8取余,再保存下来,然后让这数除以8(也就是左移,从个位移动到十位)之后再取余,每次取余得到的结果都保留下来放到一个数组中。但是由于一开始保留下的值是作为低位,而放在数组中是从a[0]开始,所以要逆序输出,最后就可以得到八进制数了!    而对于十进制转化成R进制的

2016-12-07 14:18:28 7342 1

原创 用C语言 实现strcmp(),strncmp()相同功能的myStrcmp()函数和myStrncmp()函数

strcmp()函数是比较两个字符串是否相等,相等时返回值0,若不相等时,比较第一个不相等的字符,返回值是字符串1减去字符串2的ASC||码值,可以用C语言来实现。同样的,strncmp()函数是比较前n个字符的字符串是否相等,只要在while()循环中加入n--即可。我将这两个函数写入到了同一个程序中。#include int strcmp (const char *str1,const c

2016-12-06 22:06:12 5974 1

原创 打印九九乘法表

九九乘法表       要编写如图所示的九九乘法表,需要用到二重循环,定义两个参数i和j,第一重从1遍历到9,第二重从1遍历到i,但要达到如图格式在外层循环执行后要换行,具体程序如下:#include int main(){ int i = 0; int j = 0; for (i = 1; i <= 9; i++) { for (j

2016-12-05 22:42:33 961

原创 累加单向链表结点数据域中的数据

一个单向链表的结点包括数据域与指针域,对其数据域中的数据进行操作,需要用到结构体struct.       现有一道题是将a,b,c三个结点链成一个单向链表,并给各个结点的数据域赋值累加单向链表结点数据域中的数据作为函数值返回。源程序:#include typedef int Elementtype;typedef struct list{ Elementtype data

2016-12-04 18:59:08 1128

原创 判断一个字符串是不是回文?

用指针的方法可以判断字符串是否是回文(如“abccba”,“123321”是回文),可以函数调用来实现。定义两个指针p1和p2,p1记录字符串第1个字符的地址,p2记录字符串最后1个字符的地址。具体的源程序如下:#include #include int hw (char s[10]){ char *p1; char *p2; p1 = s; p2 =

2016-12-03 21:32:38 910

原创 将字符串1复制给字符串2

不用字符串复制函数也可以实现将字符串1复制给字符串2,其实就是将字符串1盖住字符串2,最后,串1和串2都输出串1的字符就可以了。/* 将字符串1复制给字符串2 */#includeint main(){ char str1[20]; char str2[20]; int i = 0; scanf ("%s",str1); scanf ("%s",st

2016-12-02 20:21:43 2904

原创 计算字符串长度

计算字符串长度可以用字符串strlen函数,当然也可以用循环实现,这个很简单,只要考虑到字符串以'\0'结束就可以。源程序:#includeint main(){ char str[20]; int i = 0; printf ("输入一个字符串:\n"); scanf ("%s",str); while (str[i] != '\0')

2016-12-01 20:24:14 300

原创 拼接两个字符串

众所周知,将两个字符串拼接起来可以使用strcat函数,但这必须使用头文件#include。如果不用这个函数也是可以用while循环来实现的,首先要知道的是字符串以'\0'结束,具体程序如下:#includeint main(){ char str1[20]; char str2[20]; int i = 0; int j = 0; printf ("

2016-11-30 18:20:12 1323 2

原创 寻找符合条件的四位数

编写一个程序,求出满足下列条件的四位数:该数是个完全平方数,且第一、三位数字之和为10,第二、四位数字之积为12。      这是一个四位数,且是完全平方数,首先可以计算出最小和最大的完全平方的四位数,分别是32的平方为1024,99的平方为9801.另外第一,三位和为10,就是千位和十位利用和10相除,取余等一系列算法可以完成,而最后一个条件和前一个是类似的,可以仿照着来。源程序如下:#in

2016-11-29 22:34:15 1346

原创 交换两个数

C语言中有道非常简单的题就是交换a和b的值,只需要定义一个临时变量temp即可,源程序如下:#includeint main(){ int a = 1; int b = 2; int temp; printf ("a = %d\nb = %d\n",a,b); temp = a; a = b; b = temp; printf

2016-11-28 21:06:55 146

原创 如何计算一个数n从0到n中0到9出现的次数

之前学循环时,曾经做过只要计算9出现次数的题,对于一个数n,要算出它9出现的次数,因为不知道是几位,就要从个位到十位,百位....依次计算,n就需要对10取余得到个位数与9比较,然后n除以10就是向左移一位,再对10取余就可以得出十位再与9比较,依次循环。而要得到0到n的所有数中9出现的次数,就还需要一重循环。程序如下:#include int main(){ int num;

2016-11-27 22:20:56 2170 2

空空如也

空空如也

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

TA关注的人

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