
C语言
小野人_vector
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【C语言】1002 写出这个数 :读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
题目:读入一个正整数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含 1 个测试用例,即给出自然数n的值。这里保证n小于10100。输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789输出样例:yi san wu代码实现:#include<stdio.h>#include...原创 2021-01-22 11:43:51 · 1004 阅读 · 1 评论 -
非线性数据结构——树与二叉树的相关内容
一、定义树(Tree)是n(n≥0)个结点的有限集T,其中:有且仅有一个特定的结点,称为树的根(Root);当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,……Tm,其中每一个集合本身又是一棵树,称为根的子树(SubTree)。二、特点(1)树中至少有一个结点——根(2)树中各子树是互不相交的集合三、基本术语结点(Node)——表示树中的元素,包括数据项及若干指向其子树的分支;结点的度(Degree)——结点拥有的子树数;叶子(Leaf)——度为0的结点;原创 2020-05-29 17:14:16 · 389 阅读 · 0 评论 -
排序算法:直接插入排序,折半插入排序,冒泡排序,快速排序,简单选择排序
一、直接插入排序基本操作是将一条记录插入到已排好序的有序表中,从而得到一个新的、记录数量增1的有序表。算法步骤:①设待排序的记录存放在数组r[1...n]中,r[1]是一个有序序列;②循环n-1次,每次使用顺序查找法,查找r[i](i=2...n)在已排好序的序列r[1...i-1]中的插入位置,然后将r[i]插入表长为i-1的有序序列r[1...i-1],直到r[n]插入表长为n-1的有序序列r[1...n-1],最后得到一个表长为n的有序序列。void insertsort(nod原创 2020-05-24 15:21:53 · 2922 阅读 · 1 评论 -
查找算法:顺序查找,折半查找及递归算法
一、顺序查找算法思想:从表的一端开始,依次将记录的关键字和给定值进行比较,若某个记录的关键字和给定的值相等,则查找成功;反之,若扫描整个表后,仍未找到关键字和给定值相等的记录,则查找失败。int seqsearch(seqlist r,int n,keytype k)//顺序查找算法{ /* int i; for(i=1;i<=n;i++) if(r[i].key==k) return i; return 0; */ //改进:设置监视哨的顺序查找 int i;原创 2020-05-24 11:26:09 · 2148 阅读 · 0 评论 -
图——一种比线性表和树更复杂的数据结构
一、图的定义图G由两个集合V和E组成,记为G=(V,E),其中V是顶点的有穷非空集合,E是边的有穷集合。ADT Graph{ 数据对象V:一个集合,该集合中所有元素具有相同的特性。 数据关系R:R={VR} VR={<x,y>|P(x,y)∧(x,y∈V)}}二、图的基本术语(1)子图(2)有向图、无向图(3)邻接点(4)完全图:有n(n-1)/2条边的无向图为无向完全图;有n(n-1)条边的有向图为有向完全...原创 2020-06-01 22:23:28 · 476 阅读 · 0 评论 -
数组的实际应用练习:多维数组的存储和稀疏矩阵的存储
1、创建两个对称矩阵,求两个对称矩阵的和。//创建对称矩阵;//这里用的a[5][5]做的测试,需要注意二维数组传参问题,第二维空间需指定。void createArry(int a[][5],int m,int n){ for(int i=0;i<m;i++) for(int j=0;j<n;j++) { if(j>i) scanf("%d"...原创 2020-04-20 15:41:21 · 458 阅读 · 0 评论 -
内容受限的线性表:串的相关内容
一、串的概念定义:串是由零个或者多个字符组成的有序序列。一般记为S=“a1a2...an”(n>=0)。当n=0时称为空串(注意与空格串区分)。串中任意个连续的字符组成的子序列称为该串的子串。串与线性表的区别:(1)串的数据对象限定为字符集;(英文字符——ASCII,中英文——Unicode)(2)串的基本操作通常以子串为操作对象,而线性表以单个元素作为操作对象。二、...原创 2020-05-07 08:43:45 · 982 阅读 · 0 评论 -
操作受限的线性表:栈和队列的相关内容
一、栈的基本概念1、栈的定义:限定仅在表尾进行插入或删除操作的线性表,表尾—栈顶,表头—栈底,(如图)不含元素的空表称空栈。2、栈的特点:先进后出(FILO)或后进先出(LIFO) 二、栈的表示和实现1、顺序栈定义:用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素。顺序栈的存储表示#define MAXNUM 50 //定义栈中元素的最...原创 2020-03-27 19:29:56 · 514 阅读 · 0 评论 -
线性表的链式表示:单链表的定义及基本操作(C语言)
一、定义线性表的链式存储又称单链表,它是指通过一组任意的存储单元来存储线性表中的数据元素(即逻辑上相邻的数据元素在物理上不一定相邻)。特点是顺序存取,查找需从第一个结点出发,逐个往下搜索;但插入和删除操作不需移动大量元素只需修改相关结点的指针域,空间分配灵活。通常用头指针来标识一个单链表,此外,为了操作方便,在单链表第一个结点之前附加一个结点,称为头结点(如图)。单链表的结点类...原创 2020-03-17 10:05:22 · 798 阅读 · 0 评论 -
数据结构预备实验(C语言):学生信息管理
实验目的1、复习C语言中结构体类型的定义方法,掌握数据元素类型的定义方法;2、巩固结构体变量成员的“.”引用和“->”引用;3、掌握C语言函数的声明、定义和调用。实验内容学生信息管理:某年级共有n个学生,每个学生的信息构成一个记录,如下表所示,学生的学号作为关键字(key)。这n个记录构成了一个长度为n的线性表。现要求完成如下操作: 学号 ...原创 2020-03-05 14:21:05 · 2072 阅读 · 0 评论 -
近似计算:π/4=1-1/3+1/5-1/7...
π/4=1-1/3+1/5-1/7...,直到最后一项小于10-6(用for循环和dowhile循环完成)1、for循环 double sum = 0; int i; for(i = 0; ; i++) { double term = 1.0 / (i*2+1); if(i % 2 == 0) sum += term; else...原创 2019-04-26 12:58:58 · 10868 阅读 · 0 评论 -
C语言基础巩固题目
1、求S=1+1/2+1/4+...+1/50的值 int i; float sum=1; for(i=2;i<=50;i+=2) { sum=sum+1/(float)i; } printf("sum=%f",sum);注:强制类型转换2、对任意三个数字进行从大到小顺序排序 int a,...原创 2018-09-21 18:16:50 · 347 阅读 · 0 评论