- 博客(19)
- 收藏
- 关注
原创 Python解决凯撒密码问题
凯撒密码(Python)恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
2021-08-30 20:32:38 637
原创 自由落体(C语言)
自由落体题目:一个球从h米的高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求它在第N次落地时,共经过了多少米,第N次反弹多高。完整代码:#include "stdio.h"int main(){ int i,N; float x,h,y,sum; sum=0; printf("请输入高度和次数:"); scanf("%f %d",&h,&N); x=h; for(i=1;i<=N;i++) { y=h/2; sum+=y;
2021-07-05 10:45:23 4125
原创 求最大公因数和最小公倍数(C语言)
求最大公因数和最小公倍数思路:先找到这两个数中的最大数,最大公因数一定比最大数小,最小公倍数一定比最大值大。完整程序:#include "stdio.h"void main(){ int x,y,a,b,max; scanf("%d%d",&x,&y); if(x>y) { max=x; } else max=y; for(a=max;a>=1;a--) { if(x%a==0&&y%a==0) {printf("这两个数的最
2021-07-05 10:35:49 711
原创 括号匹配(C语言)
括号匹配(英文状态下:三种括号)完整程序:#include <stdio.h>#include <string.h>int top=-1;//top变量时刻表示栈顶元素所在位置//进栈void push(char * a,char elem){ a[++top]=elem;}//出栈int pop(char * a,char elem){ if (top==-1) return false; elem = a[top]; top--
2021-07-05 09:52:21 1680
原创 左右孩子法创建完全二叉树(C语言)
#include "stdio.h"#include "stdlib.h"#define MAXSIZE 100//二叉树的类型定义typedef int Elemtype;typedef struct BitNode{ Elemtype data; struct BitNode *lchild,*rchild;}BitNode,*BiTree; //创建二叉链表int CreatTree(BiTree &T){ BiTree s[100],q;//s按照完全二叉树进行
2021-07-04 15:26:37 650
原创 折半查找(C语言)
C语言折半查找注意,折半查找的前提是序列有序。二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。查找过程:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。完整程序:#include "stdio.h"
2021-07-02 07:56:39 2349
原创 快速排序的递归算法C语言
下面展示快速排序的递归算法C语言 Dev-C++算法思路是:添加一个基准数k和一头一尾的两个伪指针i和j。一般将第一个元素首先作为基数k,即k=a[1]。每一趟的目的是,让基数左边的数都小于(大于)基数,让基数右边的数都大于(小于)基数。最后在递归操作之前,将基数与i=j处的数交换#include "stdio.h"int Sort(int *a,int n,int begin){ if(begin > n) return 0; int i,j,k,m; i=be
2021-07-01 22:08:47 1187
原创 C语言,顺序查找(含哨兵)
下面展示一些 内联代码片。// A code blockvar foo = 'bar';#include "stdio.h"int Search(int *a,int n){ int x; int i=n; printf("请输入要查询的数:\n"); scanf("%d",&x); a[0]=x; while(a[i]!=x) { i--; } return i;}int main(){ int n,i; int m; printf("请输入序列的元素
2021-06-30 10:49:49 2925
原创 C语言简单选择排序
C语言,简单选择排序选择排序的基本思想描述为:对一个未排序的数组,使用双重for循环,第一个for循环控制趟数,第二个for循环控制数组内元素之间的比较。即,第一趟就是第一个元素和其后面的元素比较,如果大于就进行交换,后面的几趟亦是这样。一共有n-1趟。最终输出数组。Dev-C++完整程序:#include "stdio.h"int main(){ int n,i;printf("请输入要排序的数字个数\n"); scanf("%d",&n);int a[n];print
2021-06-30 09:41:29 450
原创 数组统计问题(统计各学生的优秀率及格率)C语言
保存N个学生的C语言程序设计的期末成绩,查看每个分数段学生的人数,计算出优秀率和及格率,同时输出所有的学生成绩,并对不及格的学生成绩作出标记。分数段的要求如下:85~100 优秀70~84 良好60及以上 及格59以下不及格C语言中,百分号的输出方式为:printf(“%%”);完整程序:#include "stdio.h"int main(){ int m; int n=0,k=0,i,g=0; double x,y;
2021-06-29 22:02:59 7030 4
原创 统计的花样
有0~20以内的整数N个,N不大于10万,计算出N的个数及不同数的个数,中间以空格间隔。采用菜单类型,借用switch函数。整个函数如下:#include "stdio.h"int main(){ int m,i; printf("请输入要输入的元素个数:\n"); scanf("%d",&m); int b[m]; printf("请输入m个元素:\n",m); for(i=0;i<m;i++) { scanf("%d",&b[i]); } int
2021-06-29 20:59:00 464 2
原创 构造方阵 输入m个数,构造m阶的方阵
构造方阵输入m个数,构造m阶的方阵输入任意5个数放在数组中,假定输入5个数为1,2,8,3,10,打印以下方阵:1 2 8 3 102 8 3 10 18 3 10 1 23 10 1 2 810 1 2 8 3思路:用两个数组,其中一个储存元素,另一个帮助第一个数组实现元素的移动。#include "stdio.h"int
2021-06-29 20:16:40 615
原创 无向图的创建
无向图的创建(C语言)邻接链表存储结构(以正邻接链表为例)链表示意图如下:图邻接链表类型定义#include "stdio.h"#include "malloc.h"#include "stdlib.h" #define MaxSize 100 typedef struct ANode { int adjvex; struct ANode *nextarc;} ArcNode;//边结点类型typedef struct Vnoded{ int data; ArcNode *
2021-06-21 20:49:31 2884
原创 二叉链表的先序遍历
二叉树的先序遍历(C语言)以完全二叉树为例,其中的先序遍历函数也可以运用到别的树。//先序遍历的非递归算法(函数)int PreOrder(BiTree T){ BiTree p, stack[MAXSIZE]; int top=0; p=T; if(T=NULL) { printf("二叉树为空\n"); return 0; } while(p||top!=0) { while(p) { printf("%5d",p->data); stack[+
2021-06-21 00:26:49 1998
原创 2021-06-16C语言冒泡排序
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入#include "stdio.h"int main(){ int n,i;printf("请输入要排序的数字个数
2021-06-16 17:11:02 50
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人