自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

r643064456的博客

学习过程中碰到的一些好题

  • 博客(39)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 Vercel部署ChatGPT的API

在openai-quickstart-node文件夹下,在地址栏输入powershell在powershell界面,输入把你的API key粘进.env去(需要注册OpenAI)这只是一个示例,上面的key已经失效了在powershell界面,输入。

2023-07-30 10:19:05 223

原创 手动写编译器实现加减乘除运算

手动写编译器实现加减乘除运算

2022-11-25 16:36:06 1442 1

原创 爬虫+数据分析+可视化大作业:基于大数据的高质量电影分析报告

在我们的日常生活中,电影已经成为了我们娱乐放松活动所不可缺少的元素。然而,自电影诞生以来,人们每天都在生产着电影,却又生产着质量良莠不齐的电影。在这些几乎是无穷无尽的电影洪流中,如何挑选一部高质量电影,成为了电影爱好者乃至平民百姓的首要问题。与此同时,作为电影拍摄团队,如何从高质量电影中找到共性,从而把握大体方向,是拍摄出传世经典的重要保证。鉴于此,一份高质量电影的分析报告是有必要的。本文以豆瓣评分为标准,用Scrapy爬虫框架爬取豆瓣TOP250网页,再用Pandas,Numpy三方库进行数据处理,提取

2022-07-30 21:53:51 12715 7

原创 Android+Blockly大作业(含登录注册系统、碎片式浏览、Blockly设计)

此次大作业实现功能包括:1.数据库的搭建2.登录注册界面及主界面界面的设计3.碎片的应用4.webBlockly的嵌套我曾在不同活动调用数据库的bug、数据库的检索和碎片的实现上花了很多时间,所幸这些问题都解决了,有部分注释标注了曾经的bug所在。一些调试代码已经删除,使代码看起来简洁一些。AndroidManifest.xml<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http

2022-03-01 09:35:10 1093

原创 最小堆的初始化、插入、根结点删除

#include <iostream>using namespace std;class MinHeap{ int*heap; int maxSize,currentSize;public: MinHeap(const int*array,int maxArraySize,int currentArraySize):maxSize(maxArraySize),currentSize(currentArraySize){ heap=new int[ma

2021-11-20 16:45:24 878

原创 二叉搜索树的插入、删除、查找

#include <iostream>#include <stack>#include <queue>using namespace std;class Node { friend class BinarySearchTree; int data; Node *leftChild; Node *rightChild;public: explicit Node(int _data=0,Node*_leftChild=nu

2021-11-17 09:07:06 274

原创 前序中序、中序后序确定二叉树,广度优先遍历、前序、中序、后序的递归、非递归遍历

#include <iostream>#include <stack>#include <queue>using namespace std;class Node { friend class BinaryTree; char data; Node *leftChild; Node *rightChild;public: explicit Node(char _data='0',Node*_leftChild=nullp

2021-11-12 17:49:00 455 1

原创 中缀表达式 【习题描述】 d. 计算中缀表达式的值,例如:输入2*(3+5)+7/1-4,输出19 e. 中缀表达式变换为后缀表达式,例如:输入2*(3+5)+7/1-4,输出235+*71/+4-

中缀表达式【习题描述】d. 计算中缀表达式的值,例如:输入2*(3+5)+7/1-4,输出19e. 中缀表达式变换为后缀表达式,例如:输入2*(3+5)+7/1-4,输出235+*71/+4-用例:假如输入为:2*(3+5)+7/1-4则输出为:输入一个中缀表达式:表达式计算结果:19/**1.4-d,e 计算器:中缀表达式转换为后缀,并计算 void infix_to_suffix(); //1.4-e 将中缀表达式转换为后缀表达 void cal_suffix();

2021-10-23 20:34:02 1241

原创 链表-双链表操作 【习题描述】 习题要求: 双链表的定义、插入、删除、查找操作,根据习题中的TODO说明进行代码编写 用例: 假如输入为:1 2 3 3 3 0 9 3

链表-双链表操作【习题描述】习题要求: 双链表的定义、插入、删除、查找操作,根据习题中的TODO说明进行代码编写用例:假如输入为:1 2 3 3 3 0 9 3则输出为:输入链表,以0为结尾:1 2 3 3 31 2 3 3 3 91 2 9#include <iostream>using namespace std;template <class T>class DLLNode {public: T data; DLLNo

2021-10-16 19:46:48 202

原创 将两个有序链表合并成一个非递减有序的单链表 【习题描述】 d. 设ha和hb分别是两个不带头结点的非递减有序单链表的表头指针,试设计一个算法,将这两个有序链表合并成一个非递减有序的

将两个有序链表合并成一个非递减有序的单链表【习题描述】d. 设ha和hb分别是两个不带头结点的非递减有序单链表的表头指针,试设计一个算法,将这两个有序链表合并成一个非递减有序的单链表。要求结果链表仍使用原来两个链表的存储空间,不另外占用其他的存储空间。表中允许有重复的数据。用例:假如输入为:31 3 532 4 6则输出为:合并前链表1为:1 3 5合并前链表2为:2 4 6合并后的单链表为:1 2 3 4 5 6/*课后习题1.8-d d. 设ha和hb分别是两个不带头结点的

2021-10-15 16:43:07 1307 2

原创 采用顺序栈判断表达式中的括号是否正确配对(含注释匹配) 【习题描述】 习题描述: h. 假设表达式中允许包含3中括号:圆括号、方括号和大括号。设计一个算法采用顺序栈判断表达式中的括号是否正确配对。

采用顺序栈判断表达式中的括号是否正确配对【习题描述】习题描述:h. 假设表达式中允许包含3中括号:圆括号、方括号和大括号。设计一个算法采用顺序栈判断表达式中的括号是否正确配对。用例1:假设输入为:{1*[3*2+(2-1)]}则输出为:匹配正确!用例2:假设输入为:{}{()()()[]{{{}}}则输出为:{ 匹配错误用例3:假设输入为:{1*[3*2+(2-1)}]则输出为:} 匹配错误用例4:假设输入为:(1*(3-(3*[3%[4=[t }5}7-}i

2021-10-14 19:33:02 5888 1

原创 单链表倒置 【习题描述】 习题要求: b. 给定一个不带头结点的单链表,写出将链表倒置的算法 用例: 假如输入为: 4 1 2 3 4 则输出为: 倒置前为:1 2

单链表倒置【习题描述】习题要求:b. 给定一个不带头结点的单链表,写出将链表倒置的算法用例:假如输入为:41 2 3 4则输出为:倒置前为:1 2 3 4倒置后为:4 3 2 1#include <iostream>using namespace std;struct Node { Node(int x) { value = x; next = NULL; } int value; Node* ne

2021-10-14 19:31:14 579

原创 链表 【习题描述】 习题要求: a. 构建一个含有头结点的链表,除头结点外的第一个结点位置为0 b. 查找值为x的结点,返回第一个值为x的结点位置,若不存在返回-1 c. 删除所有值为x的结点

链表【习题描述】习题要求:a. 构建一个含有头结点的链表,除头结点外的第一个结点位置为0b. 查找值为x的结点,返回第一个值为x的结点位置,若不存在返回-1c. 删除所有值为x的结点d. 插入单链表的第i个结点,并判断i是否合理e. 删除单链表的第i个结点,并判断i是否合理f. 输入一个单链表,然后输出它的倒数第K个结点的值,计数从1开始,即,链表结尾的元素就是倒计数第1个元素,判断K是否合理用例:假设输入为:1 2 3 4 5 0 5 2 9 0 3 2则输出为:输入以 0 为结束

2021-10-14 19:30:02 325

原创 用HTML5+CSS3实现qq会员页面的仿制

取自本人大一小学期认识实习作业。一 选题说明为了做出一个好看的网站,我参考了许多制作精美的网站,但这些网站几乎都用到了JS技术,最后我找到了qq会员网站,里面虽然也应用了不少JS技术,但大部分都可以用CSS重做实现。于是,我决定对qq会员网站进行仿制。以下是原网站链接:https://vip.qq.com/也可以打开我仿制的网页,点击左上方的logo进入官网。二 功能说明最上方是半透明导航条,固定于上方。中间是一个轮播图,qq会员官网使用了JS代码,但我用CSS代码实现了,思路是用anima

2021-07-06 16:34:31 4172 4

原创 设计字符串类 myString,若有 myString 类对象 s1、s2 和 s3,重载运算符实现如下操作: 1)重载“+”实现字符串连接功能,使表达式 s1= s2+s3 成立;

设计字符串类 myString,若有 myString 类对象 s1、s2 和 s3,重载运算符实现如下操作:1)重载“+”实现字符串连接功能,使表达式 s1= s2+s3 成立;2)重载“<”判断两个字符串的大小,如 if(s1 < s2) cout<<s1<<”<”<<s2;3)重载“<<”与“>>”,实现字符串的输入与输出操作,如 cin>>s2; cout<<s2<<endl;4

2021-04-17 21:40:56 1111

原创 定义一个集合类 mySet,最多存放 100 个不重复的整数,实现集合的如下操作: 1)增加某个整型元素时,保证集合中没有重复元素;删除指定的元素,查找该元素在集合中 则从集合中删除该元素; 2)

定义一个集合类 mySet,最多存放 100 个不重复的整数,实现集合的如下操作:1)增加某个整型元素时,保证集合中没有重复元素;删除指定的元素,查找该元素在集合中则从集合中删除该元素;2)重载运算符“+”,实现两个集合对象的合并操作,重载运算符“”,求两个集合对象的交集;例如 mySet s, s1, s2; s = s1+s2; s = s1 s2;3)重载赋值运算符=和复合赋值运算符-= , 实现两个集合对象的赋值操作与差集操作。例如mySet s1,s2;s1 = s2; s1-=s

2021-04-17 21:39:31 1357

原创 设计老师类和学生类。每个老师有姓名和研究方向,还可以指导若干个研究生。研究生的私有数据成 员包括姓名,专业和学号;编写一个程序,创建包含三个教师的数组。输入每个老师的指导所有研究 生的信息,输出所有教

设计老师类和学生类。每个老师有姓名和研究方向,还可以指导若干个研究生。研究生的私有数据成员包括姓名,专业和学号;编写一个程序,创建包含三个教师的数组。输入每个老师的指导所有研究生的信息,输出所有教师的相关信息,包括指导学生情况。注意:要求不能使用友元函数!#include<iostream>#include<cstring>using namespace std;class Student{public: Student(char*name_,char* majo

2021-03-30 23:43:17 1158

原创 利用上次作业中已定义的日期类 Date, 设计学生类 Student,私有数据成员包括学号和姓名 int id; char name[20]; 和表示入学日期时间对象 Date enrollDa

利用上次作业中已定义的日期类 Date, 设计学生类 Student,私有数据成员包括学号和姓名 intid; char name[20]; 和表示入学日期时间对象 Date enrollDate; 以及统计学生对象数目的静态成员s_number。公有成员函数实现以下功能:定义默认构造函数与有参构造函数,实现对所有数据成员的初始化,默认学生对象的名字是“ssdut”,默认入学日期为 2020 年 9 月 20 日,默认的学号为 2020001(入学年份与 number 的组合) ,每创建一个

2021-03-29 16:19:10 2177 2

原创 定义一个分数类如下,要求实现各个成员函数,并在主函数中测试两个分数的加减乘除等运算。 class Rational { public: Rational(int nn=1,int mm

定义一个分数类如下,要求实现各个成员函数,并在主函数中测试两个分数的加减乘除等运算。class Rational{public:Rational(int nn=1,int mm=1); //构造函数 5分 Rational R_add(Rational & A); //加 5分Rational R_sub(Rational & A); //减 5分Rational R_mul(Rational & A); //乘 5

2021-03-17 15:08:13 1162

原创 编写一个用户类(User),定义三个数据成员,用户id号,用户名以及密码(必须为6位);编写构造函数,根据输入进来的id号和用户名构造一个新用户,并将密码初始化为000000;编写输出id号和用户名的

编写一个用户类(User),定义三个数据成员,用户id号,用户名以及密码(必须为6位);编写构造函数,根据输入进来的id号和用户名构造一个新用户,并将密码初始化为000000;编写输出id号和用户名的函数;提供更改用户名的函数;编写更改密码的操作(要求输入旧密码和新密码),只有输入的旧密码正确的情况下才能修改密码,并进行操作是否成功的提示。类的定义5分;构造函数、用户名修改函数、更改密码函数各4分,输出函数3分。#include<iostream>#include<cstring&g

2021-03-17 15:06:33 3594

原创 (含链表头添法、尾添法)写一个函数 int insertNode(LinkedList* pList, int number); 实现将一个结点插入到从小到大排列的链表中。-1表示内存耗尽,1表示成功

#include <stdio.h>#include <stdlib.h>typedef struct _node{ int n; struct _node*next;}node;typedef struct _linkedlist{ node*head;}linkedlist;void Addtotail(linkedlist*plist, int number);void Addtohead(linkedlist*plist, int number);v

2021-01-07 21:41:34 462

原创 JavaScript的一个具体应用

1.进入课程,点击“回到旧版”(荧光标记处)2.按F12,点击“console”(荧光标记处)3.点击“Clear console”(荧光标记处),将下方代码复制粘贴,按回车var timeout = prompt("设置刷新时间间隔[S]"); var current = location.href; if(timeout > 0) { setTimeout('reload()', 1000 * timeout); } else { loc

2020-12-21 21:08:24 159 3

原创 动态二维数组

#include <stdio.h>#include <stdlib.h>void main(){ int**a,*b,m,n; printf("几行几列?"); scanf("%d%d",&m,&n); a=(int**)malloc(m*sizeof(int*)); for(int i=0;i<m;i++) a[i]=(int*)malloc(n*sizeof(int)); printf("给数组赋值:"); for(int i=0;i

2020-12-21 20:32:42 163

原创 报数:有n个人做成一圈,按顺序1到n编好号。从第一个人开始报数,报到m(m<n)的人退出圈子。如此下去,直到留下最后一个人,输入整数n和m,并按退出顺序输出退出圈子的人的编号。

#include <stdio.h>#include <stdlib.h>void main(){ int m,n,i,cnt=0,CNT=0,flag; scanf("%d%d",&m,&n); int*a=(int*)malloc(n*sizeof(int)); for(i=0;i<n;i++) a[i]=i+1; while(1){ flag=CNT; for(i=0;i<n;i++){ if(a[i]!=0){ c

2020-12-13 09:45:41 2710 2

原创 编写函数实现在字符串中查找子串,返回字符串中子串出现的次数

#include <stdio.h>#include <string.h>#include <stdlib.h>int find(char*a){ char*b=(char*)malloc(strlen(a)+1); scanf("%s",b); int i,j,cnt=0; for(i=0;i<strlen(a);i++){ if(a[i]==b[0]){ for(j=0;j<strlen(b);j++){ if(a[i+j]

2020-12-12 20:17:37 2411

原创 编写函数实现在字符串中查找子串的功能,返回查找到的第一个子串的地址,并在主函数中进行测试。

#include <stdio.h>#include <string.h>#include <stdlib.h>int find(char*a){ char*b=(char*)malloc(strlen(a)+1); scanf("%s",b); int i,j; for(i=0;i<strlen(a);i++){ if(a[i]==b[0]){ for(j=0;j<strlen(b);j++){ if(a[i+j]==b[j]

2020-12-12 20:05:25 1071

原创 查找字符串中是否存在字符key,并从字符串中删除该字符,要求编写实现查找的函数和实现删除指定字符的函数,并在主函数中测试。

#include <stdio.h>#include <string.h>#include <stdlib.h>void select(char*a){ int i,flag=0; for(i=0;i<strlen(a)-2;i++){ if(a[i]=='k'&&a[i+1]=='e'&&a[i+2]=='y'){ flag=1; printf("第%d到%d个元素是key\n",i,i+2); }

2020-12-12 19:24:22 475 1

原创 编写函数实现函数f(x)的定积分,其中x为实数。 提示:函数声明可以设计为 :double calcus( double(*pf)(double), int low, int high, int n)

#include <stdio.h>double calcus( double(*pf)(double), int low, int high, int n),one(double),two(double),three(double);//pf为指向函数的指针,low为积分下限,high为积分上限,n控制积分精度。void main(){ int low,high,n; scanf("%d%d%d",&low,&high,&n); printf("%f",ca

2020-12-12 19:21:35 352 1

原创 编写一个函数实现插入排序算法,并在主函数中测试。

#include <stdio.h>void insertionsort(int a[],int n){ int i,j,k,p=0; for(i=0;i<n-1;i++){ for(j=0;j<=i;j++){ if(a[i+1]<=a[j]){ p=a[i+1]; for(k=i;k>=j;k--) a[k+1]=a[k]; a[j]=p; } } }}void main(){ int arr[]={

2020-12-06 18:00:48 1510

原创 编写一个函数,实现两个整型数组的合并(将两个整型数组a和b合并成一个从小到大有序排列的整形数组c,并在主函数中测试)。

#include <stdio.h>void bubblesort(int*p,int l){ int i,j,k; for(i=0;i<l-1;i++){ for(j=0;j<l-i-1;j++){ if(p[j]>p[j+1]){ k=p[j]; p[j]=p[j+1]; p[j+1]=k; } } }}void combine(int a[],int b[],int la,int lb){ int*p=a,*q=b

2020-12-04 19:33:21 4579

原创 编写一个函数,对一个数组进行处理,使其中的元素不重复,并在主函数中进行测试。例如,对于数组a[12] = {1,1,2,7,3,2,3,4,5,8,7,4},处理完之后元素为7个不重复的数据

想法是:找一个不在数组中的数(k),如果出现重复就把重复的元素改成k,最后输出所有非k的数。确实有一点缺陷,但大部分情况下不需要改k,如果出现了,自己改一下也不耽误事。#include <stdio.h>void omit(int a[],int l){ int i,j,k=10000000; for(i=0;i<l;i++){ if(a[i]!=k){ for(j=0;j<l;j++){ if(i!=j&&a[i]==a[j]) a

2020-12-04 18:07:29 299

原创 编写函数实现冒泡排序算法对数组元素进行降序排序,并在主函数中对其进行测试,要求主函数中输出排序前及排序后的结果

#include <stdio.h>void f(int a[],int n){ int i,j,k=0; for(i=0;i<n-1;i++){ for(j=0;j<n-1-i;j++){ if(a[j]>a[j+1]){ k=a[j]; a[j]=a[j+1]; a[j+1]=k; } } }}int main(){ int a[10]={9,8,7,6,5,4,3,2,1,0},i,n; for(i=0;i&lt

2020-11-28 20:59:33 6080 1

原创 编写一个函数实现二分查找算法,并在主函数中进行测试

#include <stdio.h>int f(int a[],int x,int l,int h){ int m; if(l>h) return -1; m=(l+h)/2; if(a[m]>x) f(a,x,m,h); else if(a[m]<x) f(a,x,l,m); else return m;}void main(){ int a[5]={1,3,5,7,9},x,l=0,h; h=sizeof(a)/sizeof(a[0]); sc

2020-11-28 20:58:43 593

原创 汉诺塔问题: 有一个梵塔,塔内有三个座儿A, B, C. A座上有n个盘子,盘子大小不等,大的在下,小的在上。问:如何把盘子从A座移动到C座,要求每次只允许移动一个盘子,并且在移动过程中,3个座上的

#include <stdio.h>int i=1;void m(int x,char a,char c){ printf("第%d步:把第%d个盘子从%c移到%c\n",i++,x,a,c);}void h(int x,char a,char b,char c){ if(x==1) m(x,a,c); else{ h(x-1,a,c,b); m(x,a,c); h(x-1,b,a,c); }}void main(){ int x; char a='A',b

2020-11-20 20:16:29 2684

原创 给定不超过6的正整数a,考虑从a开始的连续4个数字,请输出所有由它们组成的无重复数字的3位数,要求从小到大,整数间以空格分离。

#include <stdio.h>void main(){ int a,i,j,k; do{scanf("%d",&a);}while(a>6||a<1); for(i=a;i<=a+3;i++){ for(j=a;j<=a+3;j++){ if(i==j) continue; for(k=a;k<=a+3;k++){ if(i==k||j==k) continue; printf("%d%d%d ",

2020-11-15 16:05:09 16732 8

原创 编写程序验证歌德巴赫猜想: 一个不小于6的偶数可以表示成两个素数之和。如6=3+3,8=3+5,10=3+7,…… 在主函数中输入一个大于6的偶数n,例如34,输出如下形式:34=3+31。

#include <stdio.h>#include <math.h>void main(){ int n,i,j,isp=1; do{scanf("%d",&n);}while(n%2==1||n<6); for(i=3;i<=n/2;i+=2){ for(j=2;j<=sqrt(i);j++){ if(i%j==0) isp=0; } if(isp==1){ for(j=2;j<=sqrt(n-i);j++)

2020-11-14 15:52:35 1718

原创 打印居中的字母金字塔

Write a program, input a letter in upper case, then print as follows: (input E): ABCDE in the middle is aligned as a column.#include <stdio.h>int main(){int i,j,k,l;char a='A';for(i=1;i<=5;i++){ for(j=1;j<=5-i;j++) printf(" "); for(k=1

2020-11-14 15:50:42 261

原创 从键盘输入一个整数(int范围内,位数不定),求出其逆序表示的整数并输出。 样例输入: 12345 样例输出 54321

#include <stdio.h>int main(){ int a,cnt=0,i=0,sum=0; scanf("%d",&a); while(a){ cnt++; i=a%10; sum=sum*10+i; a/=10; } printf("%d",sum); return 0;}

2020-11-14 15:47:05 2075

原创 从键盘输入多个整数,输入0结束(0不参加运算),打印他们的最大值,最小值以及平均值

#include <stdio.h>int main(){ int i,max,min,cnt=0,sum=0; double average=0; scanf("%d",&i); max=i; min=i;while(i){ cnt++; sum+=i; if(max<i) max=i; else if(min>i) min=i; scanf("%d",&i); } average=sum*1.0/cnt;

2020-11-14 15:44:27 3442

手动写编译器实现加减乘除运算

用途:想从helloworld开始写一个编译器,或者为了应付老师的上机(滑稽) ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................

2022-11-25

Android+Blockly大作业(含登录注册系统、碎片式浏览、Blockly设计)

此次大作业实现功能包括: 1.数据库的搭建 2.登录注册界面及主界面界面的设计 3.碎片的应用 4.webBlockly的嵌套 我曾在不同活动调用数据库的bug、数据库的检索和碎片的实现上花了很多时间, 所幸这些问题都解决了,有部分注释标注了曾经的bug所在。 一些调试代码已经删除,使代码看起来简洁一些。

2022-03-01

通过HTML和CSS仿制qq会员界面.rar

这个是本人文章 https://blog.csdn.net/r643064456/article/details/118523589 的资源压缩包

2021-07-06

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

TA关注的人

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