C语言
回忆丶搁浅
这个作者很懒,什么都没留下…
展开
-
数据结构_二叉排序树
#include <stdio.h>#include <stdlib.h>typedef struct BiTNode{ int data; BiTNode *lchild,*rchild;}BiTNode,*BiTree;// 查找 void InsBST(BiTree *T,int data){ BiTNode *f,*p; p=(*T); while(p){ if(p->data==data){ printf("不需要插入已存在");.原创 2020-12-28 12:27:21 · 187 阅读 · 0 评论 -
数据结构_二叉树
#include <stdio.h>#include <stdlib.h>typedef struct BiTNode{ int data; BiTNode *lchild,*rchild;}BiTNode,*BiTree;BiTNode *CreatTree(){ BiTNode *t; int x; scanf("%d",&x); getchar(); if(x==0) t=NULL; else{ t =(BiTree)malloc(size.原创 2020-12-28 12:26:04 · 143 阅读 · 0 评论 -
数据结构_链队列
#include <stdio.h>#include <stdlib.h>typedef int QElemType; typedef struct QNode{ QElemType data; struct QNode * next;}QNode,*QueuePtr;typedef struct { QueuePtr front; QueuePtr rear;}LinkQueue;//初始化void InitQueue(LinkQu.原创 2020-12-28 12:23:22 · 126 阅读 · 0 评论 -
数据结构_栈
#include <stdio.h>#include <stdlib.h>typedef int SElemType;#define STACK_INIT_SIZE 100//存储空间初始分配量#define STACKINCREMENT 10//存储空间分配增量 typedef struct { SElemType *base; SElemType *top; int stacksize;}Sqstack;//构造一个空栈bool InitSta.原创 2020-12-28 12:17:51 · 120 阅读 · 0 评论 -
数据结构_双链表
#include <stdio.h>#include <stdlib.h>typedef int ElemType; typedef struct DNode { ElemType data; // 值 struct DNode *prior,*next; // 指向下一个结点 }DNode,*DLinklist;//头插法 DLinklist DList_HeadInsert(DLinklist &DL){ DNode *s; int x.原创 2020-12-28 12:14:08 · 110 阅读 · 0 评论 -
数据结构_单链表
#include <stdio.h>#include <stdlib.h>typedef int ElemType; typedef struct LNode { ElemType data; // 值 struct LNode *next; // 指向下一个结点 }LNode,*Linklist;// 头插法 倒序 Linklist List_HeadInsert(Linklist &L){ LNode * s; int x; L =.原创 2020-12-28 12:09:43 · 106 阅读 · 1 评论 -
C语言_算法_11
11.1 统计一片文章,分别统计其中的英文大写字母、小写字母、数字、空格、以及其他字符个数#include <stdio.h>#include<string.h>int main(){ char str[]="hEL l Z ##**世界"; int i,j=0,n=0,m=0,z=0,k=0; while(str[j]!='\0') { if((unsigned)str[j]>=161) { j++; i++; }else if(str原创 2020-07-23 16:14:58 · 407 阅读 · 0 评论 -
C语言_算法_查找
1.在一个固定数组中查找这个数是否存在(1)顺序查找#include <stdio.h>int main() { int i,n,array[10]={1,2,3,4,5,6,7,8,9,10}; scanf("%d",&n); for(i=0;i<10;i++){ if(array[i]==n){ printf("第%d个\n",i+1); return 0; } } printf("无此数");}(2)折半查找#i原创 2020-07-22 16:40:18 · 135 阅读 · 0 评论 -
C语言_算法_10
10.1 求一个3×3整型矩阵对角线元素之和#include <stdio.h>int main() { void ergodic(int array[3][3]); int i,sum=0,array[3][3]={{1,2,3},{4,5,6},{7,8,9}}; ergodic(array); for(i=0;i<3;i++){ sum +=array[i][i]+array[i][2-i]; } printf("对角线元素之和为:%d",sum);原创 2020-07-22 14:10:12 · 313 阅读 · 0 评论 -
C语言_算法_9
9.1 将一个二维数组行和列元素互换,存到另一个二维数组中#include <stdio.h>int main() { int i,j,b[3][2],a[2][3]={{1,2,3},{4,5,6}}; printf("原数组:\n"); for(j=0;j<2;j++){ for(i=0;i<3;i++){ printf("%3d",a[j][i]); } printf("\n"); } printf("变换后:\n"); for(j=0;j原创 2020-07-21 15:52:19 · 273 阅读 · 0 评论 -
C语言_算法_排序问题
问题:有十个数,要求从小到大排序(1)方式一:冒泡法排序#include <stdio.h>int main() { int i,j,temp,a[10]={9,1,3,7,3,2,5,8,10,6}; printf("排序前:"); for(i=0;i<10;i++){ printf("%3d",a[i]); } for(j=0;j<9;j++){ for(i=0;i<9-j;i++){ if(a[i]>a[i+1]){ te原创 2020-07-21 10:42:44 · 212 阅读 · 0 评论 -
C语言_算法_8
8.1 水仙花数(153=1³+5³+3³)#include <stdio.h>int main() { int i,m,n,s; for(i=99;i<=999;i++){ m=i/100; n=i%100/10; s=i%10; if(i==m*m*m+n*n*n+s*s*s) printf("%d+%d+%d=%d\n",m,n,s,i); } return 0; }8.2 完数(6=1+2+3,1,2,3为6的因子)#incl原创 2020-07-20 21:29:42 · 211 阅读 · 0 评论 -
C语言_算法_7
7.1 输入三个数排序,从小到大排序#include <stdio.h>int main() { int a,b,c,d,temp; printf("请a,b,c的值(以,隔开) "); scanf("%d,%d,%d",&a,&b,&c,&d); if(a>b){ temp=a; a=b; b=temp; } if(a>c){ temp=a; a=c; c=temp; } if(b>c){ t原创 2020-07-20 15:40:14 · 188 阅读 · 0 评论 -
C语言_算法_输入两个正整数m和n,求其最大公约数与最小公倍数
(1)方式一#include <stdio.h>#include <math.h> /* 输入两个数,求最大公约数 与最小公倍数 分析关系:最小公倍数=两数的积/最小公倍数 */ int main() { int m,n,i,temp,temp1; printf("输入两个整数以,隔开\n"); scanf("%d,%d",&m,&n); temp1=m*n; //两数的积 i=n; if(n>m){ //判断大数做被除数原创 2020-07-20 08:33:02 · 3976 阅读 · 1 评论 -
C语言_ 算法_6
5.1 生产总值问题(年增长率为9%,10年之后生产总值与现在相比增长多少百分比)#include <stdio.h>#include <math.h> int main() { int i; double p=1.0,r=0.09; //p:增涨率,r=年增长率 for(i=1;i<=10;i++){ p *=(1+r); } print...原创 2020-07-20 10:29:38 · 189 阅读 · 0 评论 -
C语言_算法_5
5.1 A和B两个瓶子装醋和酱油,两个瓶子内东西互换#include<stdio.h>int main(){ char a='A'; char b='B'; printf("a=%c,b=%c\n",a,b); char c=a; a=b; b=c; printf("a=%c,b=%c",a,b);}5.2判段一个数n能否被3和5整除#include<stdio.h>int main(){ int num=105; if(num%15==0原创 2020-07-19 12:36:46 · 217 阅读 · 1 评论 -
C语言_算法_4
4.1 判断是否为闰年逻辑分析:非整百年:能被4整除的为闰年。(如2004年就是闰年,2001年不是闰年)整百年:能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)#include <stdio.h>int main() { int year; scanf("%d",&year); if(year%4==0 || year%400==0...原创 2019-07-28 17:08:35 · 352 阅读 · 0 评论 -
C语言_算法_3
3.1圆的面积#include <stdio.h>int main() { double pi=3.14159 ,r=3,area; area=pi*r*r; printf("半径为3的圆的面积:%.2f",area); return 0; }3.2三角形面积(边长:a=3.67 ,b=5.43 ,c=6.21)#include <stdio.h>#include <math.h>int main() { double a=3.67..原创 2020-07-19 09:33:28 · 1465 阅读 · 0 评论 -
C语言_算法_2
3.1 5的阶乘#include <stdio.h>int main() { int a=1,i; for(i=1;i<=5;i++) //循环i { a *=i; //a =a*i } printf("5!=%d",a); return 0;}3.2 求多项式(1-1/2+1/3-1/4+·····+1/99 -1...原创 2019-07-27 18:18:39 · 259 阅读 · 0 评论 -
C语言_算法_1
2.1 输出 hello word#include <stdio.h> //预处理指令int main(int argc, char *argv[]) { printf("hello word"); //输出语句 return 0;}2.2 输入两个数求和#include <stdio.h>int main() { int a,b,sum...原创 2019-07-27 13:12:57 · 167 阅读 · 0 评论 -
C语言_枚举与typedef声明新的类型
1.枚举定义枚举是指把可能的值一一列举出来,变量的值只限于列举出来的值的范围内enum [枚举名]{枚举元素列表};// 例enum Weekday{sun,mon,tue,wed,thu,fri,sat};// 枚举类型 枚举变量 enum Weekday workday,weekend;说明(1)C编译对枚举类型的枚举元素常量处理,故称枚举常量,不能对枚举元素赋值(2)每个枚举元素都代表一个整数,C语言编译器默认顺序为0,1,2,3····原创 2020-07-07 15:53:34 · 846 阅读 · 0 评论 -
C语言_共用体类型
1.什么是共用体类型使用同一段内存单元存放不同类型的变量称为共用体union 共用体{ 成员列表}变量表列;三种方式定义union Data { int i; char ch; float f;}a,b,c;union Data { int i; char ch; float f;};union Data a,b,c;union { int i; char ch; float f;原创 2020-07-07 14:50:48 · 1606 阅读 · 0 评论 -
C语言_结构体
1.结构体定义:C语言允许用户自己建立不同类型数据组成的组合成的数据结构,它们被称为结构体,在其他语言中称为”记录“(record)struct 结构体名{ 成员表列 }; //成员列表:类型名 成员名;//例struct Date{ int month; int day; int year;}2.定义定义结构体类型变量1.先声明结构体类型,再定义该类型变量// 结构体类型名 结构体变量名 struct原创 2020-07-07 13:04:00 · 426 阅读 · 0 评论 -
C语言_指向函数的指针
1.函数指针定义: 如果在程序中定义一个函数,在编译时,编译系统为函数代码分配一段存储空间,这段存储空间的起始地址(又称入口地址)称为这个函数的指针类型名 (指针变量名)(函数参数列表);int (*p)(int,int);(1)定义指向函数指针变量,并不意味着这个指针变量可以指向任何函数,他只能指向在定义时指定的类型函数(2)如果要用指针变量调用函数,必须先使用指针变量指向该函数p=max //这就是把函数入口地址赋给指针变量p(3)在给...原创 2020-07-06 13:38:37 · 648 阅读 · 0 评论 -
C语言_通过指针引用数组
1.字符串引用方式(1)用字符数组存放一个字符串,可以通过数组名和下标引用字符串中一个字符,也可以通过数组名和格式声明 "%s"输出该字符串。char string[] ="I Iove china";printf("%c\n",string[7]);(2)用字符指针变量指向一个字符串常量,通过字符串指针引用字符串常量char * string="I love China";printf("%s\n",string);2.字符指针作函数参数(1)用字符数组名作为函数参数原创 2020-07-05 20:30:15 · 1240 阅读 · 0 评论 -
C语言_指针变量
1.指针的定义将地址形象化地称为“指针”,地址指向该变量单元。按变量名访问称为直接访问使用指针称为间接访问(把变量地址赋给一个指针变量,间接访问,变量地址做中间量)指针变量:是用来存放地址的变量指针是一个地址2.指针变量的定义类型名 * 指针变量名;int * pointer_1, *pointer_2; //int是“基类型” int只能指向为整型的变量float * pointer_3; //float指针char * pointe原创 2020-07-05 11:02:55 · 573 阅读 · 0 评论 -
C语言_对文件的输入输出
1.什么是文件(1)程序文件:程序源文件(后缀为.c)目标文件(后缀文件为.obj)、可执行文件(后缀为.exe)等。这种文件时程序代码(2)数据文件:是供程序运行时读写的数据(3)数据流:输入输出是数据的传输过程2.文件名(1)文件路径(2)文件名主干(3)文件后缀3.文件分类数据文件分为ASCII文件和二进制文件,数据在内存中是以二进制形式存储的,不加转换就是二进制文件,被称为影像文件ASCII文件被称为文本文件...原创 2020-07-02 20:36:02 · 544 阅读 · 0 评论 -
C语言_存储类别
C语言的存储类别包括4种:自动的(auto)、静态的(static)、寄存器(register)、外部的(exteren)1.自动变量(auto变量)函数中的局部变量,如果不专门声明为(static)静态存储类别,都是动态地分配存储空间的,数据存储在动态存储区中。形参与函数中定义的局部变量,都是自动变量,在调用结束就会自动释放这些存储空间2.静态局部变量(static局部变量)(1)静态局部变量属于静态存储类别,在静态存储区分配存储单元,在程序整个运行期间都不释放。而自动变量(动态局部变原创 2020-06-29 20:05:23 · 6459 阅读 · 3 评论 -
C语言_函数
1.函数定义(1)定义无参函数类型名 函数名(){ 函数体}或类型名 函数名(void){ 函数体}(2)定义有参函数类型名 函数名(形式参数列表){ 函数体}(3)定义空函数类型名 函数名(){}2.函数的调用(1)函数调用形式printf_star(); //调用无参函数c=max(a,b); //调用有参函数m=max(a,max(b,c)); //函数参数(2)原创 2020-06-29 12:49:20 · 235 阅读 · 0 评论 -
C语言_数组
1.一维数组(1)数组定义 类型符 数组名 [常量表达式];(2)数组命名规则和变量名相同C语言中数组不可以动态定义数组下标从0开始 a[0]怎么引入一维数组元素数组名[下表](3)一维数组的初始化 int a[4]={0,1,2,3};也可以写成 int a[]={0,1,2,3};(4)一维数组的遍历int a[4]={0,1,2,3}for(int i=0;i<4;i++){ printf("%d\n",a[i.原创 2020-06-28 12:30:27 · 652 阅读 · 0 评论 -
C语言_选择结构与循环结构
1.选择结构if(表达式){ 语句1}else if(){ 语句2}else{ 语句n}2.关系运算符与关系表达式优先级相同(高) < (小于) <= (小于或者等于) > (大于) >= (大于或者等于)优先级相同(低) == (等于) != (不等于)3.逻辑运算符和逻辑表达式C逻辑运算符及其含义 运算符 含义 举例 说明...原创 2020-06-28 11:12:42 · 339 阅读 · 0 评论 -
C语言_数据的输入与输出
1.程序输入与输出(1)所谓输入输出是以计算机主机为主题而言(2)C语言本身不提供输入输出语句(3)C语言函数库提供输入输出函数库#include<stdio.h> 或者 #include"stdio.h"2.用printf函数输出数据printf函数一般格式为printf(格式控制,输出列表); (1)格式控制是使用""括起来的一个字符串,成为 "转换控制字符串",简称 格式字符串。它包括 格式声明: %和格式字符组成 如%d原创 2020-06-27 13:13:43 · 707 阅读 · 0 评论 -
C语言_语句与结构
1.C程序结构 C程序 源程序文件1 源程序文件2 源程序文件3···· 预处理指令 数据声明 函数1 ····· 函数n 函数首部 函数体 数据声明 执行语句2.C语句分为5类(1)控制语句if()eles (条件语句)for() (循原创 2020-06-27 11:08:49 · 250 阅读 · 0 评论 -
C语言_运算符和表达式
1.基本运算符最常用的算数运算符 运算符 含义 举例 结果 + 正号运算符(单目运算符) +a a的值 - 负号运算符(单目运算符) -a a的算术负值 * 乘法运算符 a*b a和b的乘积 / 除法运算符 a/b a除以b的商 % 求余运算符 a%b a除以b的余数 + 加法运算符 a+b a和b的和 - 减法运算符 a-b a和原创 2020-06-27 10:13:14 · 402 阅读 · 0 评论 -
C语言_数据类型
1.基本数据类型#include<stdio.h> //头文件int main() //函数入口{ int a=100; // int 4字节 short b=20; // short 2字节 long c=300; // long 8字节 float d=13.34; // float 4字节 double e=45.67; // double 8字节 char str='x'; /.原创 2020-06-27 09:25:49 · 163 阅读 · 0 评论 -
C语言_DEV C++编译器的下载与修改配置
C语言入门1.1 DEV C++软件下载:https://nchc.dl.sourceforge.net/project/orwelldevcpp/Setup Releases/Dev-Cpp 5.11 TDM-GCC 4.9.2 Setup.exe1.2 修改编译器字体大小工具->编辑器选项->...原创 2019-07-27 12:09:28 · 3268 阅读 · 0 评论 -
C语言_三种结构
1.什么是算法 两类:数值运算算法和非数值算法数值运算算法目的:是求数值解非数值算法目的:常见用于事务管理领域(应用领域广,种类多)2.算法的特点(1)有穷性(2)确定性(3)有零个或多个输入(4)有一个或者多个输出(5)有效性3.算法的表示(1)用自然语言表示(2)用流程图表示算法 (1)表示相应的操作框(2)带箭头的流程的(3)框内外必要的文字说明...原创 2020-06-21 11:54:48 · 1311 阅读 · 0 评论 -
C语言入门
1.C语言特点(1)语言简洁,紧凑,使用方便、灵活(2)运算符丰富(3)数据类型丰富(4)具有结构化的控制语句(5)语法限制不太严格(6)C语言允许直接访问物理地址(7)移植性好(8)生成目标代码质量高,程序执行效率高2.C语言程序的结构特点(1)一个程序由一个或者多个源程序文件组成(1)预处理指令 #include<stdio.h> //还有其他预处理指令,只是其中一个(2)全局声明(在函数外面进行的数据声明) //放在mai原创 2020-06-20 19:26:35 · 338 阅读 · 0 评论