C
文章平均质量分 84
此栏目是刚开始学习编程所发表的栏目
折竹丶
本人自我评分可以打五十分吧,时而感觉亢奋学习颇有兴趣、时而感觉颓废不堪坐丧成业,起步之初领先于诸同学,然却处处落后,忧心忡忡,未能坚持到底。本人之发展在乎于彻底革命再造自我,寻到兴趣之所在,调取心中之积极,于自身不断完善之。
展开
-
C语言之中rand()函数是如何实现的
需要注意的是,rand()函数是一个伪随机数生成函数,它生成的随机数并非真正的随机数,而是在数学上看起来是随机的数列。由于随机数生成器的初始种子相同,因此每次程序运行时生成的随机数序列都是相同的。rand()函数是一个C标准库中的随机数生成函数,用于生成一个范围在0到RAND_MAX之间的伪随机数。其中,X(n)是上一个生成的随机数,a、c、m是一组固定的参数。生成的随机数通常是一个大整数,需要对RAND_MAX取模,得到一个范围在0到RAND_MAX之间的随机数。原创 2023-03-03 11:36:13 · 2189 阅读 · 1 评论 -
sqrt函数实现
某一天打开自己的电脑发现了这个文件,发现是之前所写的一个用于开平方的函数,sqrt,观看没有啥事就发一个文章除了,时间过于长了,颓废了太长时间了,发文刷新一个自己。#include <iostream>using namespace std;class Math{ public: double sqrt(double x,double w=0.000001); double fabs(double x); double pow_2(double x);};..原创 2020-11-30 19:48:16 · 11763 阅读 · 0 评论 -
题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。
许久不写代码了,好像从来都不会写代码,于是在网上找到一个题目来写写消遣打发一些时间。题目描述Time Limit: 1000 msMemory Limit: 32768 mb查找和排序题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩都按先录入排列在前的规则处理。示例:jack70peter96Tom70smith67从高到低成绩peter96jack70Tom...原创 2020-11-25 22:30:07 · 12029 阅读 · 0 评论 -
C语言(一):C语言概述介绍
目录1.1 什么是C语言1.2计算机介绍1.2.1计算机结构组成1.2.2计算机系统组成1.2.3程序和指令1.3 语言发展历程1.3.1 机器语言1.3.2汇编语言和编译器1.3.3高级语言1.3.4语言的层次1.3.5语言进化史1.4 为什么要学习C语言1.4.1 C语言特点1)优点2)缺点1.4.2学习C语言理由1.4.3 C语言应用领域1.4.4 C语言的简洁1.4.5 学习C语言的常见困惑1.5...原创 2020-10-06 00:55:33 · 16666 阅读 · 2 评论 -
C语言(二):数据类型
2.1 常量与变量2.1.1 关键字2.1.2数据类型数据类型的作用:编译器预算对象(变量)分配的内存空间大小。2.1.3常量常量:l在程序运行过程中,其值不能被改变的量l常量一般出现在表达式或赋值语句中 整型常量 100,200,-100,0 实型常量 3.14 , 0.125,-3.123 字符型常量 ‘a’,‘b’,‘1...原创 2020-10-06 01:08:46 · 12307 阅读 · 3 评论 -
C语言(三):运算符与表达式
目录3.1 常用运算符分类3.2算术运算符3.3赋值运算符3.4比较运算符3.5逻辑运算符3.6运算符优先级3.7类型转换3.7.1隐式转换3.7.2强制转换3.1 常用运算符分类 运算符类型 作用 算术运算符 用于处理四则运算 赋值运算符 用于将表达式的值赋给变量 比较运算符 用于表达式的比较,...原创 2020-10-06 06:20:52 · 11874 阅读 · 0 评论 -
C语言(四):程序流程结构
4.1概述C语言支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。l顺序结构:程序按顺序执行,不发生跳转。l选择结构:依据是否满足条件,有选择的执行相应功能。l循环结构:依据条件是否满足,循环多次执行某段代码。4.2选择结构4.2.1if语句#include<stdio.h>intmain(){ inta= 1; intb= 2; if(a>b) {...原创 2020-10-06 06:28:19 · 11689 阅读 · 0 评论 -
C语言(六):函数
6.1 概述6.1.1函数分类C 程序是由函数组成的,我们写的代码都是由主函数 main()开始执行的。函数是 C 程序的基本模块,是用于完成特定任务的程序代码单元。从函数定义的角度看,函数可分为系统函数和用户定义函数两种:l系统函数,即库函数:这是由编译系统提供的,用户不必自己定义这些函数,可以直接使用它们,如我们常用的打印函数printf()。l用户定义函数:用以解决用户的专门需要。6.1.2函数的作用l函数的使用可以省去重复代码的编写,降低代码重复率...原创 2020-10-06 06:42:02 · 12054 阅读 · 0 评论 -
C语言(五):数组和字符串
5.1概述5.2 一维数组5.2.1一维数组的定义和使用5.2.2一维数组的初始化5.2.3数组名5.2.4强化训练1)一维数组的最值2)一维数组的逆置3)冒泡法排序5.3二维数组5.3.1二维数组的定义和使用5.3.2二维数组的初始化5.3.3数组名5.3.4强化训练5.4多维数组(了解)5.5字符数组与字符串5.5.1字符数组与字符串区别5.5.2字符串的初始化5.5.3字符串的输入输出5.5.4...原创 2020-10-06 06:34:35 · 11960 阅读 · 0 评论 -
C语言(七)(精华):程序流程结构
目录7.1 概述7.1.1 内存7.1.2物理存储器和存储地址空间7.1.3内存地址7.1.4指针和指针变量7.2 指针基础知识7.2.1 指针变量的定义和使用7.2.2通过指针间接修改变量的值7.2.3指针大小7.2.4野指针和空指针7.2.5万能指针void *7.2.6 const修饰的指针变量7.3 指针和数组7.3.1 数组名7.3.2 指针操作数组元素7.3.3 指针加减运算1)加法运算2)减法运算7.3....原创 2020-10-06 06:49:18 · 11697 阅读 · 0 评论 -
C语言(八)(精华):内存管理
8.内存管理8.1 作用域C语言变量的作用域分为:l代码块作用域(代码块是{}之间的一段代码)l函数作用域l文件作用域8.1.1局部变量局部变量也叫auto自动变量(auto可写可不写),一般情况下代码块{}内部定义的变量都是自动变量,它有如下特点:l在一个函数内定义,只在函数范围内有效l在复合语句中定义,只在复合语句中有效l随着函数调用的结束或复合语句的结束局部变量的声明声明周期也结束l如果没有赋初值,内容为随机#include<s...原创 2020-10-06 07:01:37 · 11764 阅读 · 0 评论 -
C语言(九):自定义数据类型
9. 复合类型(自定义类型)9.1 结构体9.1.1 概述数组:描述一组具有相同类型数据的有序集合,用于处理大量相同类型的数据运算。有时我们需要将不同类型的数据组合成一个有机的整体,如:一个学生有学号/姓名/性别/年龄/地址等属性。显然单独定义以上变量比较繁琐,数据不便于管理。C语言中给出了另一种构造数据类型——结构体。9.1.2结构体变量的定义和初始化定义结构体变量的方式:l先声明结构体类型再定义变量名l在声明类型的同时定义变量l直接定...原创 2020-10-06 07:05:17 · 12832 阅读 · 0 评论 -
C语言(十):文件操作
目录10.文件操作10.1 概述10.1.1磁盘文件和设备文件10.1.2磁盘文件的分类10.1.3文本文件和二进制文件1)文本文件2)二进制文件10.2文件的打开和关闭10.2.1文件指针10.2.2文件的打开10.2.3文件的关闭10.3文件的顺序读写10.3.1按照字符读写文件fgetc、fputc1)写文件2)文件结尾3)读文件10.3.2按照行读写文件fgets、fputs1)写文件2)读文件3)强化...原创 2020-10-07 00:08:59 · 12054 阅读 · 0 评论 -
C语言:密码验证
注册网站时,需要使用包含不同类型(数字、符号、大写字母、小写字母)的字符,和特定长度。检查一个密码内容同时包含以上4种类型的字符,并且长度在8-120个字符之间。符号要求,返回0;长度不符合返回1;类型不符合要求返还2.可以一次输入多组密码,以空格符间隔,空格符不作为密码。输入描述:需要验证的密码,多个密码以空格符间隔,空格符不作为密码的一部分。其实这实际的开发过程之中,这个只需要一个正则表达式就可以搞定了。^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}.原创 2020-09-09 10:56:57 · 13043 阅读 · 0 评论 -
返回字符串为什么不相同
在今天的课程之中终于解决一个在2018年学习C++的时候都没有明白的知识点#include <stdio.h>char* txet1(){ char str[] = "Hello World"; return str;}char* txet2(){ char *str = "Hello World"; return str;}int main(){ printf("%s\n", txet1()); printf("%s\n", txet2()); return原创 2020-07-14 07:53:13 · 11607 阅读 · 0 评论 -
bsearch()二分法查找
C 库函数void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *))对nitems对象的数组执行二分查找,base指向进行查找的数组,key指向要查找的元素,size指定数组中每个元素的大小。数组的内容应根据compar所对应的比较函数升序排序。下面是 bsearch() 函数的声明。void *b...原创 2020-07-12 13:19:58 · 12666 阅读 · 0 评论 -
C语言:再也不写排序算法
在C语言一个小项目里面,大多数情况我们都是选择自己造车轮,比如需要自己写一个排序算法或者链表,这样的过程在学习的时候动手是充满意义的,但是到了大项目之中,用标准库和别人封装好的算法不香吗?倘若盖一栋楼之前,连每一个砖块都需要我们挖土烧砖,那么这是多么可怕巨大的工程量。原创 2020-07-12 13:12:16 · 12300 阅读 · 0 评论 -
算法:C描述-快速排序
快速排序在区间中随机挑选一个元素作基准,将小于基准的元素放在基准之前,大于基准的元素放在基准之后,再分别对小数区与大数区进行排序。过程演示:迭代法typedef struct _Range { int start, end;} Range;Range new_Range(int s, int e) { Range r; r.start = s; r.end = e; return r;}void swap(int *x, int *y原创 2020-07-12 12:54:07 · 12230 阅读 · 0 评论 -
算法:C描述-归并排序
归并排序把数据分为两段,从两段中逐个选最小的元素移入新数据段的末尾。可从上到下或从下到上进行。过程演示:迭代法int min(int x, int y) { return x < y ? x : y;}void merge_sort(int arr[], int len) { int* a = arr; int* b = (int*) malloc(len * sizeof(int)); int seg, start; fo原创 2020-07-12 12:51:24 · 12223 阅读 · 0 评论 -
算法:C描述-希尔排序
希尔排序希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出改进方法的:插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率 但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位过程演示:void shell_sort(int arr[], int len) { int gap, i, j; int temp; for (gap = len &g原创 2020-07-12 12:48:00 · 12276 阅读 · 0 评论 -
算法:C描述-插入排序
插入排序插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到 {\displaystyle O(1)} {\displaystyle O(1)}的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。过程演示:实例void insertion_sort(in.原创 2020-07-12 12:45:23 · 12187 阅读 · 0 评论 -
算法:C描述-选择排序
选择排序选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。过程演示:实例void swap(int *a,int *b) //交換兩個變數{ int temp = *a; *a = *b; *b = temp;}void selection_sor原创 2020-07-12 12:42:32 · 12224 阅读 · 0 评论 -
算法:C描述-冒泡排序
冒泡排序冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。过程演示:#include <stdio.h>void bubble_sort(int arr[], int len) { int i, j, temp; for (i = 0; i < len - 1; i++) { for (j = 0; ...原创 2020-07-11 23:35:13 · 12219 阅读 · 0 评论 -
输入10个数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。
题目描述输入10个数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。输入十个数输出交换后的十个数样例输入2 30 40 50 60 70 80 90 100样例输出100 30 40 50 60 70 80 90 2#include<stdio.h>void fun_A();int abs(int n);void swap(int *,int *);int main(){ fun_A(); .原创 2020-05-13 23:27:05 · 13633 阅读 · 0 评论 -
输入一个正数x和一个正整数n,求下列算式的值。要求定义两个调用函数:fact(n)计算n的阶乘;mypow(x,n)计算x的n次幂(即xn),两个函数的返回值类型是double
#include<stdio.h>double fact(int);double mypow(int ,int );int main(){ int x,n,k=-1; double sum=0; scanf("%d %d",&x,&n); for(int i=1;i<=n;i++) { k*=-1; sum+=(k)*mypow(x,i)/fact(i); } printf(".原创 2020-05-13 14:28:35 · 15522 阅读 · 0 评论 -
使用C语言实现Linux命令cp
使用C语言实现Linux命令cp实现拷贝命令,使用方式为cp name.txt file.txt//实现文件copy #include <stdio.h> #include <string.h>#include <stdlib.h>#include <time.h>#define MAXSIZE 1024int mai...原创 2020-02-20 21:19:29 · 12821 阅读 · 0 评论 -
简单的竞赛评分系统
/* 竞赛评分系统 */#include <stdio.h>#include <stdlib.h>void readNum(int *arr,int n){ printf("输入评委的评分\n"); for(int i=0;i<n;i++) { printf("输入%d号评委的分数:",i+1); scanf("%d",(arr+i))...原创 2019-06-05 13:23:49 · 15451 阅读 · 0 评论 -
C/C++ 求解一个数学建模的简单问题
求解代码和思路如下://求出来Xmax#include <stdio.h>int math(unsigned int n){ //对X画简 x=3*tn-(n-1)*270 //对约束条件画简 n=6 //3 //n*90 <= 3*tn-(n-1)*270 <= 150*n //120n-90 <= tn <=...原创 2019-05-07 19:39:41 · 13932 阅读 · 1 评论 -
C/C++改变控制台的字体颜色
当你接触编程的时候,是不是总是有这种感受:白字黑色的控制台总是很枯燥,正如你用大脑运行这段代码#include <stdio.h>#include <conio.h>int main(int argc,char *argv[]){ printf("Hello wolrd\n"); getch(); return 0;}渐渐的熟悉了电...原创 2019-04-09 22:12:27 · 23416 阅读 · 1 评论 -
C语言:将字符串转成数字,例如"1234"->1234 int Myatoi(const char *str); 将数字转成字符串,例如1234->"1234" void Myitoa(char *s
将字符串转成数字,例如"1234"->1234 int Myatoi(const char *str);将数字转成字符串,例如1234->"1234" void Myitoa(char *str,int n);原创 2019-03-02 11:09:52 · 14937 阅读 · 0 评论 -
C语言:将一个文本文件按字符送上屏幕(动画效果)
#include<stdio.h>/* 包含putchar() 相关文件操作 fopen()打开文件 feof()判断文件到结尾 更多查看stdio.h */#include<stdlib.h>/* 常用的system() sand() 与rand() */#include<time.h>/* 用系统时间初始化获取随机数...原创 2019-01-09 12:07:31 · 13576 阅读 · 0 评论 -
Dev C++项目开发是添加背景音乐 C&C++
在去年的时候我就在寻找Dev C++上面进行项目开发是如何添加背景乐的,由于这一年时间比较懒几乎在学习方面没有任何进展,直到昨天才才找到添加背景音乐的方法,实在惭愧,现在分享一下1.打开Dev C++首先在创建一个C++的项目。【文件】->【新建】->【项目】,在对话框中选择[console Application]最好专门为这个项目创建一个文件夹,和项目名称同样的名字...原创 2018-12-22 13:57:51 · 32269 阅读 · 18 评论 -
C语言三维数组的简单实现数据结构
表示一个三维数组三维数组;其中一个元素a(x,y,z)比如 x=y=z=4;一共64个元素从下标1-64;前4个表示a(1,1,1)~a(1,1,4)那么a(1,1,1)~a(1,4,4)表示前16个这样得到一个结论,a(i,j,k)对应的是顺序表中元素的第16*(i-1)+4*(j-1)+k 即:(i-1)*y*z+y*(j-1)+k...原创 2018-12-05 21:38:27 · 24859 阅读 · 0 评论 -
C语言基础:可变参数
#include <stdio.h>#include <stdarg.h>double average(int num, ...){ va_list valist; double sum = 0.0; int i; /* 为 num 个参数初始化 valist */ va_start(valist, num); printf("%d\n", num); /* 访问所有赋给 valist 的参数 */ for (i = 0; i < num; i++.原创 2020-07-06 13:51:10 · 12188 阅读 · 0 评论 -
C 错误处理
C错误处理C 语言不提供对错误处理的直接支持,但是作为一种系统编程语言,它以返回值的形式允许您访问底层数据。在发生错误时,大多数的 C 或 UNIX 函数调用返回 1 或 NULL,同时会设置一个错误代码errno,该错误代码是全局变量,表示在函数调用期间发生了错误。您可以在 errno.h 头文件中找到各种各样的错误代码。所以,C 程序员可以通过检查返回值,然后根据返回值决定采取哪种适当的动作。开发人员应该在程序初始化时,把 errno 设置为 0,这是一种良好的编程习惯。0 值表示程序中没有..转载 2020-07-06 13:40:36 · 12229 阅读 · 0 评论 -
C语言基础:文件读写
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <conio.h>int main(){ FILE *fp = NULL; if ((fp = fopen("./tmp/readme.txt", "w")) == NULL) { printf("文件打开失败!\n"); return 1; //程序已经退出了 } else { printf.原创 2020-07-06 12:05:36 · 12206 阅读 · 0 评论 -
王嘉鑫问题
/*王嘉鑫问题数组array中前100个是1-100的自然数字没有重复的(意思就是在数组array中前100个元素寻找数字1-100都可以找到) */#include<stdio.h>#include<time.h>#include<stdlib.h>int main(){ int array[101]={0}; int key=0; int k=0; srand(time(NULL)); for(int i=1.原创 2020-05-13 14:23:21 · 12173 阅读 · 0 评论 -
C++ 查看本机WiFi密码
/* 查看本机WiFi密码 时间:2020年5月7日11:24:26 */ #include <iostream>#include <string>#include <cstdlib>#include <cstdio>using namespace std;class Wifi{ private: string name;...原创 2020-05-07 12:19:32 · 13378 阅读 · 0 评论 -
BIM计算-属于自己的减肥小程序
本人一位大三的学生,身高175cm,体重175(斤)。经过过年的努力,身为一个吃货,我狂吃不胖的体质完全成为变成了胖子家族的一员,这一点我十分苦恼。我特别去网上查查,看看自己这些年积累的脂肪到底有多少? 于是我到网上上面了解到了中国通用的BMI计算方式,算算的我的肥胖程度,结果十分震惊。结果来源https://cn.onlinebmicalculator.com/从...原创 2020-04-08 20:33:03 · 15270 阅读 · 1 评论 -
破解ftp密码代码
破解ftp密码代码这是一个破解ftp server密码的程序,但是只是娱乐使用而已,不要太当真设计思路如下//写一个ftp密码破解器//1 创建秘钥 #include <stdio.h>#include <string.h>#include <stdlib.h>int main() { char *ipaddress="19...原创 2020-02-20 21:28:28 · 12788 阅读 · 0 评论