自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 统一建模语言UML--面向团队的文献管理系统

UML

2022-10-30 10:52:30 618 1

原创 pdf文件转word文件docx后缀的简单方法

pdf文件转word文件dox后缀的简单方法![选择打开,浏览最后,可以免费方便的完成pdf到word的转换。

2021-05-07 23:00:03 947

原创 ATM系统 ---UMl建模实验 对象模型建模

实验2 对象模型建模实验2 对象模型建模一、实验目的1.熟悉对象模型建模方法;2.掌握使用StarUML绘制类图的方法;3.掌握类的描述方法。二、实验内容按照以下ATM系统的描述,对其进行对象模型建模。ATM系统是一个复杂的软件控制硬件的系统,各功能模块协调工作。以具体业务为出发点对它进行建模,一个功能齐全的ATM系统包含以下几个模块:(1)读卡机模块: 客户银行卡插入读卡机,读卡机识别卡在显示器提示输入密码。(2)键盘输入模块: 客户通过键盘输入密码与取款金额,选择要进行的业务。(3

2021-02-02 21:51:00 2508

转载 区间覆盖问题C++实现

区间覆盖问题C++实现#include<iostream>#include<algorithm>using namespace std;const int maxn = 20;struct timetable{ int a; int b;}time[maxn];bool comp(timetable& x, timetable& y)//多看两遍 { return (x.a < y.a);}int main(){ in

2020-10-09 22:54:23 392

转载 区间取点问题 C++实现

区间取点问题注意对输入数据的处理#include<iostream>#include<algorithm>using namespace std;const int maxn = 20;struct timetable{ int a; int b;}time[maxn];bool comp(timetable& x, timetable& y)//多看两遍 { if (x.b != y.b) return (x.b < y.b

2020-10-09 22:34:55 341

转载 区间问题选择不相交区间

区间问题选择不相交区间https://blog.csdn.net/qq_40073459/article/details/86636963?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.channel_paramh

2020-10-07 22:36:48 190

原创 Gergovia的酒交易C++实现

Gergovia的酒交易#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int main(){ int n; while (cin >> n && n) { long long ans = 0, a, last = 0; for (int i = 0; i < n; i

2020-10-07 22:17:06 200

原创 归并排序 分治法思想 C++实现

归并排序 分治法思想 C++实现#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int maxn = 100;int A[maxn];int T[maxn];void merge_sort(int* A, int x, int y, int* T) { if (y - x > 1) { i

2020-10-02 22:52:22 228

原创 最大连续和 C++实现 多种方法

最大连续和 C++实现 多种方法方法一:暴力法,通过循环实现。通过对tot数值的观察可以发现,随着问题规模的变大,操作次数极度扩张。时间复杂度T(n)=O(n3)。#include<cstdio>#include<iostream>#include<cstring>int A[] = { 1,-2,3,4,5,6,-7,1,3,-5,-10,1 };int main() { int tot = 0; int best = A[1]; int n = 11

2020-10-02 22:21:30 1218

转载 素数环问题

素数环问题#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int is_prime(int x) { for (int i = 2; i * i <= x; i++) if (x % i == 0) return 0; return 1;}int n, A[50], isp[50], vis[50

2020-09-26 23:04:26 104

原创 8皇后问题 ----n皇后问题解法

8皇后问题 ----n皇后问题解法#include<cstdio>#include<cstring>#include<algorithm>int n;int tot = 0;int C[100];void search(int cur){ if (cur == n) tot++;//cur到达递归边界说明有解 else for (int i = 0; i < n; i++) { int ok = 1; C[cur] = i;//把第cu

2020-09-25 23:31:00 159

转载 子集合生成的方法 增量构造法

子集合生成的方法 增量构造法#include<cstdio>#include<algorithm>#include<string>#include<iostream>void print_subset(int n, int* A, int cur) { for (int i = 0; i < cur; i++) printf("%d", A[i]); printf("\n"); int s = cur ? A[cur - 1]+1

2020-09-25 22:08:12 129

原创 利用STL库的next_permutation()函数进行全排列的生成

利用STL库的next_permutation()函数进行全排列的生成#include <iostream>#include<algorithm>#include<cstdio>using namespace std;int main() { int n, p[10]; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &p[i]); } sort(

2020-09-25 21:45:39 90

原创 C++ STL中排序函数qsort()的使用

C++ STL中排序函数qsort()的使用该函数被封装在algorithm头文件中。qsort()的调用为:void qsort(void *_Base, size_t _NumOfElements, size_t _SizeOfElements, _CoreCrtNonSecureSearchSortCompareFunction _CompareFunction)参数的意义:base – 指向要排序的数组的第一个元素的指针。size_t _NumOfElements – 由 ba

2020-09-24 22:47:12 886

原创 生成存在重复元素的全排列 (C语言实现)

生成存在重复元素的全排列 (C语言实现)#include<cstdio>#include<cstring>#define maxn 100int A[maxn];void print_permutation(int n, int* P, int* A,int cur){ if (cur == n) { for (int i = 0; i < n; i++) printf("%d ", A[i]); printf("\n"); } else for

2020-09-24 22:28:32 1577

原创 全排列1~n的生成 递归实现

全排列1~n的生成 递归实现#include<cstdio>void print_permutation(int n, int* A, int cur){ if (cur == n) { for (int i = 0; i < n; i++) printf("%d ", A[i]); printf("\n"); } else for (int i = 1; i <= n; i++) { int ok = 1; for (int j = 0; j &

2020-09-22 22:51:52 182

原创 分数拆解 简单枚举法

分数拆解UVa 10976#include<cstdio>int main(){ int k, x, y; while(scanf("%d",&k)) { for (int i = k+1; i <= 2*k; i++) { y = i; if ((y * k) % (y - k) == 0) { x = (y * k) / (y - k); printf("1/%d = 1/%d + 1/%d\n", k, x, y)

2020-09-22 22:43:24 233

原创 枚举法求最大乘积

枚举法求最大乘积#include<cstdio>#include<algorithm>const int maxn = 20;int s[maxn];int main(){ int n; int max = 0; memset(s, 0, sizeof(s)); while (scanf("%d", &n) && (n >= 1) && (n <= 18)) { for (int i = 0; i &

2020-09-21 23:20:25 140

原创 除法Uva 725一个好点的思路

除法Uva 725为了保证a,b,c,d,e,f,g,h,i,j全都不一样可以有序化后,与0~9的数进行比较如果,结果为10,证明10个数各异。此处最大的5位数位不重复的数为98765,最小的是01234。#include<cstdio>#include<algorithm>using namespace std;int b[10];int test(int m, int n){ int z = 0; if (m > 98765) return 0; b[

2020-09-21 22:47:31 123

原创 小球下落问题(二叉树相关规律的运用)

小球下落问题了解二叉树所具备的规律,比如最大的编号跟深度D的关系2D-1,一个结点自身为k,则其左结点为2k,右结点为2k+1。#include<cstdio>#include<cstring>const int maxn = 20;int s[1<<maxn];int main(){ int D, I; while (scanf("%d%d", &D, &I) == 2) { memset(s, 0, sizeof(s));

2020-09-16 23:22:38 285

原创 信息解码问题利用函数实现(C++)

信息解码

2020-09-16 23:06:23 167

原创 利用C++中的sringsream进行一行字符型号数字求和

利用C++中的sringsream进行一行字符型号数字求和利用getline函数进行数据读入。#include<iostream>#include<algorithm>#include<sstream>using namespace std;int main(){ string line; while (getline(cin, line)) { int sum = 0, x; stringstream ss(line); while (s

2020-09-14 23:26:32 72

原创 救济金发布问题(C语言实现 Uva 133)

救济金发布问题(C语言实现 Uva 133)关于p1赋初值为n。逆时针计数,是从1开始,输入为n,然后在自定义函数中变成(n+1+n-1)%n+1=1。1本身被数一次。同理关于p2赋初值为1。#include<stdio.h>#define maxn 25int n,k,m,a[maxn];int go(int p,int d,int t)//起点,方向,步数{ while(t--) { do{p=(p+d+n-1)%n+1;}while(a[p]==0);//跳过为0

2020-09-14 23:20:54 460

原创 刽子手游戏 C语言实现

刽子手游戏 C语言实现#include<stdio.h>#include<string.h>const int maxn = 100;int left, chance;char s[maxn], s2[maxn];int win, lose;void guess(char ch){ int bad = 1; for (int i = 0; i < strlen(s); i++) if (s[i] == ch) { left--; s[

2020-09-14 22:56:01 569

原创 递归法求阶乘(C语言实现)

递归法求阶乘根据递归定义:f(0)=1f(n)=f(n-1)xn(n>=1)#include<stdio.h>int f(int n){ return n == 0 ? 1 : f(n - 1) * n;}int main(){ printf("%d\n", f(3)); return 0;}

2020-09-12 23:00:29 343

原创 计算组合数(C语言实现)

计算组合数#include<stdio.h>long long factorial(int n){ long long m = 1; int i; for ( i = 0; i < n; i++) m *= i; return m;}long long C (int n,int m){ return factorial(n) / (factorial(m) * factorial(n - m));}int main(){ int n , m; scan

2020-09-12 22:54:20 2874 2

原创 求两点之间的距离(C++语言)

求两点之间的距离两种思路:第一种:直接利用四个坐标值进行计算。第二种:利用结构体描绘坐标,实现对坐标的抽象描述。此处两个函数同名,但其函数的参数不同,即函数的函数签名不同,是C++特有的函数多态。#include<stdio.h>#include<math.h>double dist(double x1, double y1, double x2, double y2){ double dx = x1 - x2; double dy = y1 - y2; r

2020-09-12 22:25:18 8014

原创 猜数字游戏的提示(C语言,来自于UVa340)

猜数字游戏的提示(C语言,来自于UVa340)实现一个经典的“猜数字游戏”。给定游戏序列和用户猜的序列,统计有多少数字位置正确(A),有多少数字在两个序列都出现过但位置不对(B)。此题强调正常的猜测序列不会有0,因此可以作为循环的跳出条件。#include<stdio.h>#define maxn 1010//宏定义int main(){ int i,j; int n, a[maxn], b[maxn];//分别存储答案序列和猜测序列 int rnd = 0;//游戏轮数计数

2020-09-11 23:11:14 224

原创 回文词(回文数和镜像串)

回文词(回文数和镜像串)首先需要知道镜像字符串有哪些有A,E-3,H,I,J-L,L-J,M,O,S-2,T,U,V,W,X,Y,Z-5,1,2-S,3-E,5-Z,8。然后建立常量数组,存储相对应字母和数字的镜像。建立另一个常量数组,存储输出的判断结果,避免对于if的使用,让代码更加精简。...

2020-09-11 22:38:26 355

原创 蛇形填数(C语言实现)

蛇形填数(C语言实现)

2020-09-10 23:41:21 724

原创 0xC00000FD: Stack overflow问题

0xC00000FD: Stack overflow问题定义在函数内部的是局部变量。局部变量是运行过程中动态分配资源,栈的空间可能被过大的局部变量占满出现溢出。#include<stdio.h>ne maxn 1000000int main(){ int a[maxn]; int x, n = 0; while (scanf_s("%d", &x) == 1) a[n++] = x; for (int i = n - 1; i >= 1; i--) pr

2020-09-10 23:22:30 704

原创 韩信点兵问题(C语言)

韩信点兵问题(C语言)实际上就是确定余数,求做商运算的数。#include<stdio.h>#include<math.h>int main(){ int x, y, z; int i; scanf_s("%d%d%d", &x, &y, &z); for (i = 10; i <= 100; i++) { if (i % 3 == x && i % 5 == y && i % 7 == z)

2020-09-10 22:50:09 3592

原创 分数化小数(C语言实现,printf的参数)

##分数化小数此题注意printf的特别参数的使用方法,例如printf(“% * . * lf\n”, 10, 5, (double)1/10); 会输出10个字宽保留5位小数的浮点数运算结果。然后,就是int转换为double类型是需要记得加上1.0。不然,会出现结果0。#include<stdio.h>#include<math.h>int main(){ int a, b, c; while ( scanf_s("%d%d%d", &a, &b

2020-09-10 21:14:55 463 2

原创 子序列的和(C语言实现)

标题输出两个正整数n<m<106。输出1/n2 + 1/(n+1)2+…+1/m2,保留五位小数。结束标记为n=m=0。#include<stdio.h>#include<math.h>int main(){ int n, m, i; double sum = 0; while (scanf_s("%d%d", &n, &m)) { if (m == 0 && n == 0)break; for (i = n; i

2020-09-10 20:57:53 2495

原创 输出倒三角—C语言实现

输出倒三角—C语言实现此题输出星号构成的倒三角。可以拆解为两个部分,第一部分是对于空格的输出,第二部分是对于星号()的输出。主要利用循环实现。n为总输出层数,i为每层的编号。然后每一层的星号数目与层数 i 的关系是2(i-1)+1,每一层输出的空格数目是n-i。#include<stdio.h>#include<math.h>int main(){ int i, j; int n; scanf_s("%d", &n); for ( i = n; i

2020-09-10 20:23:23 10798

原创 水仙花数(A^2+B^2+C^2=ABC)C语言解决

水仙花数输出100到999中所有水仙花数。第一种思路是从ABC这个整体出发,寻求问题的解决。#include<stdio.h>#include<math.h>int main(){ int i, j, k; for (i = 100; i <= 999; i++) { if (int(pow(i / 100, 3)) + int(pow(i / 10 % 10, 3)) + int(pow(i % 10, 3)) == i) printf("%d\n

2020-09-09 23:41:23 594

原创 阶乘之和(C语言)

阶乘之和(C语言)输入n,计算S=1!+2!+3!+4!..+n!的末尾六位(不含前导0),n<10^6。第一种直观的想法:#include<stdio.h>#include<math.h>int main(){ int n; int i, j; int sum = 0, f = 1; scanf_s("%d", &n); for (i = 1; i <= n; i++) { f = 1; for ( j = 1; j <=

2020-09-09 23:21:08 7392

原创 关于Π/4的近似计算

关于Π/4的近似计算利用泰勒展开式:Π/4 = 1 - 1/3 + 1/5 - 1/7 + … 直到最后一项小于10^-6。此题不确定具体的循环结束条件,可以利用do-while循环进行。#include<stdio.h>#include<math.h>int main(){ double term; double sum = 0; do { int i = 0; term = 1.0 / (2 * i + 1); if (i % 2

2020-09-09 22:58:33 4842 2

原创 正弦和余弦(角度到弧度)

关于正弦和余弦输入正整数n(n<360),输出n度的正弦、余弦函数值。#include<stdio.h>#include<math.h>int main(){ const double pi = acos(-1); double n; double R; scanf_s("%lf", &n); R = n / 180 * pi;//把n角度转换为弧度 printf("%.3f %.3f", sin(R), cos(R));}这里主要是利用C的

2020-09-09 22:36:37 2720

原创 经典问题3x+1

3n+1问题对于任意大于1的自然数n,若该数为偶数则将其变为原来的一半,若为奇数则将其变为3n+1。反复进行上述过程,直到结果为1时停止。这就是著名的“3n+1”问题。要求输入n,输出按“3n+1”规则变换到1所需要的数字变换次数。(n<=10^9)直观想法:#incldue<stdio.h>int mian(){ int n,count=0; scanf("%d",&n); while(n>1) { if(n%2 == 1) n = n*3 + 1;/

2020-09-09 20:52:52 1034

空空如也

空空如也

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

TA关注的人

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