自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 tolower函数

功 能: 把字符转换成小写字母,非字母字符不做出处理头文件:在VC6.0可以是ctype.h或者stdlib.h,常用ctype.h目前在头文件iostream中也可以使用,C++ 5.11已证明。用 法: int tolower(int c);说明:和函数int _tolower( int c );功能一样,但是_tolower在VC6.0中头文件要用ctype.h...

2022-02-27 11:15:28 292

转载 位运算&判断

用位运算判断一个数是奇数还是偶数:1、判断最后一位是1还是02、最后一位是1,为奇;最后一位是0,为偶3、只有2的0次方才是奇数值1#include <iostream>using namespace std;int main(){ int x; printf("请输入x的值:"); cin>>x; if(a & 1) cout << "为奇数" << endl; ...

2022-01-22 15:57:22 608

原创 牛客网二分迷宫

给你一个n*m的迷宫,这个迷宫中有以下几个标识:s代表起点t代表终点x代表障碍物.代表空地现在你们涵哥想知道能不能从起点走到终点不碰到障碍物(只能上下左右进行移动,并且不能移动到已经移动过的点)。输入描述:输入第一行一个整数T(1<=T<=10)接下来有T组测试数据,对于每一组测试数据,第一行输入2个数n和m(1<=n,m<=500)接下来n行,每行m个字符代表这个迷宫,每个字符都是上面4个中的一种数据保证只有一个起点和一个终点输出描述:

2022-01-22 15:38:12 191

转载 牛客网二周训练动态转移方程

将整数n分成k份,且每份不能为空,任意两个方案不能相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,5;1,5,1;5,1,1;问有多少种不同的分法。输入:n,k ( 6 < n ≤ 200,2 ≤ k ≤ 6 )输出:一个整数,即不同的分法。输入描述:两个整数 n,k ( 6 < n ≤ 200, 2 ≤ k ≤ 6 )输出描述:1个整数,即不同的分法。示例1输入7 3输出4#include&lt.

2022-01-22 15:21:02 114

原创 牛客练习赛(三角形)

题目描述给出直角三角形其中一条边的长度n,你的任务是构造剩下的两条边,使这三条边能构成一个直角三角形。输入描述:一个整数n。输出描述:另外两条边b,c。答案不唯一,只要输出任意一组即为合理,如果无法构造请输出-1。示例1输入 3输出 4 5示例2输入 4输出 3 5#include<bits/stdc++.h>using namespace std;int main(){ long long n,b,c; cin>&.

2022-01-14 22:39:03 251

原创 set集合器

头文件#include<set>set<int>s(定义运算符的类型 int)向s中加数据:s.insert(elem)插入之后元素默认按升序排序,集合中无重复元素s.clear():清空集合s.begin():返回集合首地址s.end():返回集合尾地址的下一个地址访问几何元素:set<int>::iterator A;//定义迭代器for(A = s.begin(); A!= s.end(); A++)printf("%d".

2022-01-14 21:41:31 174

原创 next_permutation基本用法

功能:将数组中选定范围的数按照字典序进行全排列#include <iostream>#include<algorithm>using namespace std;int main(){ int a[3]={1,3,5}; sort(a,a+3); do{ for(int i=0;i<3;i++) { cout<<a[i]<<" "; } cout<<endl; }while(next_permuta

2022-01-14 18:10:33 3691

原创 DP问题 印章

问题描述  共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。输入格式  一行两个正整数n和m输出格式  一个实数P表示答案,保留4位小数。样例输入2 3样例输出0.7500数据规模和约定  1≤n,m≤20#include<bits/stdc++.h>using namespace std;int main(){ double n,m; cin>>n>>m; int i,

2022-01-11 20:59:54 335

原创 杨辉三角形

问题描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。  它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。  下面给出了杨辉三角形的前4行:  1  1 1  1 2 1  1 3 3 1  给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多余的空格。样例输入...

2022-01-09 19:44:32 46

原创 字母图形wwww

问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字符,为你的图形。样例输入5 7样例输出ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC数据规模与约定1 &lt

2022-01-09 12:00:56 3566

原创 十进制转十六进制

问题描述  十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。  给出一个非负整数,将它表示成十六进制的形式。输入格式  输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647输出格式  输出这个..

2022-01-08 21:15:41 154

原创 十六进制转十进制

1 基本操作(1)头文件#include<vector>.(2)创建vector对象,vector<int> vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的。

2022-01-08 20:52:52 823

原创 Fibonacci数列

Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。1 <= n <= 1,000,000。

2022-01-07 21:39:39 347

原创 猴子选大王

一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?输入格式:输入在一行中给一个正整数N(≤1000)。输出格式:在一行中输出当选猴王的编号。输入样例:11输出样例:7#include <stdio.h>#include <stdli

2021-12-29 22:15:37 49

原创 字符串的输入

getchar()获取一个字符gets获取一行字符串ch=cin.get(); //或者cin.get(ch);只能获取一个字符cin.get(a,20); //类似getline,可以输入多个单词,中间空格隔开。cin.getline() 获取一行字符串getline(cin,s)//可以输入多个单词。{char a[20];cin>>a;}//无空格...

2021-12-26 16:53:58 211

转载 C++ 中的 String 类

#include <iostream>#include <string> using namespace std; int main (){ string str1 = "runoob"; string str2 = "google"; string str3; int len ; // 复制 str1 到 str3 str3 = str1; cout << "str3 : " << str3 &l.

2021-12-26 16:43:25 50

转载 for(char c :s)和for(char &c : s)区别

for(char c :s)和for(char &c : s)的操作区别都是基于(c++11)for循环遍历for(char c :s)复制一个s字符串再进行遍历操作例如 string=”hello c++";for(char c : s){cout<<c<<" ";}相当于C++的:for( int i = 0; i < s.length(); i++){ s[i]…}for(char &c : s)直接使用s字符串进行遍历操

2021-12-26 16:34:40 2061

原创 bool类型

bool类型可为true或false。若要使用bool类型的值执行逻辑运算,请使用布尔逻辑运算符。bool类型是比较和相等运算符的结果类型。bool表达式可以是if、do、while和for语句中以及条件运算符?:中的控制条件表达式。bool类型的默认值为false。...

2021-12-26 16:31:05 1211

转载 memset

memset是计算机中C/C++语言初始化函数。作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作。表达式:memset(void *s,int ch,size_t n);样例:memset(fact, 0, sizeof(fact));void *memset(void *s, int ch,size_tn);函数解释:将s中当前位置后面的n个字节用 ch 替换并返回 s 。memset:作用是在一段内存块中填充某个给定的值,它是对较大的...

2021-12-25 17:01:48 108

原创 IP地址转换 (10 分)

一个IP地址是用四个字节(每个字节8个位)的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。输入格式:输入在一行中给出32位二进制字符串。输出格式:在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间用“.”分隔开。输入样例:11001100100101000001010101110010结尾无空行输出样例:204.148.21.114结尾无空行#include <stdio.h&

2021-12-24 22:02:22 566

原创 二叉树简介

二叉树(Binary tree)是树形结构的一个重要类型。二叉树特点是每个结点最多只能有两棵子树,且有左右之分。二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该二叉树为空二叉树。类型:1、满二叉树:一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上。2、完全二叉树:深度为k,有n个结点的二叉树当且仅当其每一个结点都与深度为k的满二叉树中编号从1到n的结点一一对..

2021-12-24 21:41:50 394

转载 C 库函数 - strtok()

C 库函数 - strtok()<string.h>描述C 库函数 char *strtok(char *str, const char *delim) 分解字符串 str 为一组字符串,delim 为分隔符。声明下面是 strtok() 函数的声明。char *strtok(char *str, const char *delim)参数str-- 要被分解成一组小字符串的字符串。 delim-- 包含分隔符的 C 字符串。返回值该函数返回被分解的..

2021-12-23 20:15:38 147

原创 scanf输出空格

要输入带空格的字符串,要用到一个格式字符:%[] : 一个字符集。“%[]”的作用是扫描字符集合:scanf(“%[^\n]”,str);

2021-12-23 20:05:41 437

原创 运算符>>

>>:右移,将一个数的二进制位全部右移N位,高位舍弃,低位补零。>>1:相当于将一个数的二进制全部右移1位,高位舍弃,低位补零。<<:左移,用来将一个数的二进制位全部左移n位,高位舍弃,低位补零。k=(k<<1)|j:<<是左移的意思,>>是右移。k=(k<<1)就是将k左移一个单位之后赋值给k...

2021-12-23 20:00:02 326

转载 sscanf

sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。1、一般用法 1 2 3 charbuf[512]=; sscanf("123456","%s",buf); printf("%s\n",buf); 结果为:1234562. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。 1 2 sscanf("1...

2021-12-23 19:52:58 371

原创 setw() 与setfill()

cout<<setw(5)<<setfill('0')<<a<<b;##输出5位,右对齐,不足补0 。注意:setw(int n)只是对直接跟在<<后的输出数据起作用,之后的<<需要在之前再一次使用setw;使用setfill(char x)使用指定字符变量x来填充空下的空格。...

2021-12-23 16:37:33 271

原创 1.双向链表

7-9 约瑟夫问题变形编号为1…N的N个小朋友玩游戏,他们按编号顺时针围成一圈,按顺时针次序报数,从第1个人报到第M个人出列;然后再从下个人开始报到第M+1个人出列;再从下一个人开始报到第M+2个人出列……以此类推不断循环,直至最后一人出列。请编写程序按顺序输出出列人的编号。输入格式:输入为2个整数,分别表示N、M(1≤N,M,K≤10000)。输出格式:输出为一行整数,为出列人的编号。每个整数后一个空格。输入样例1:6 3结尾无空行输出样例1:3 1...

2021-12-19 22:30:00 220

原创 7-4 单链表基本操作

#include <iostream>#include <stdlib.h>#include <malloc.h>using namespace std;typedef struct Link{ int data; struct Link *next;}*link;void ListInsert(link head,int k,int d){ int cnt=0; link r1,p1; if(k == 0) { r1=(link)ma.

2021-12-19 22:30:00 409

原创 enum(枚举)

enum(枚举)枚举语法定义格式为:enum 枚举名 {枚举元素1,枚举元素2,……};例子:一星期有 7 天,如果不用枚举,我们需要使用 #define 来为每个整数定义一个别名:#define MON 1#define TUE 2#define WED 3#define THU 4#define FRI 5#define SAT 6#define SUN 7使用枚举:enum DAY{MON=1, TUE, WED,...

2021-12-19 19:41:36 241

原创 switch分支

#include <stdio.h> int main (){ char grade = 'B'; switch(grade) { case 'A' : printf("great\n" ); break; case 'B' : case 'C' : printf("good\n" ); break; case 'D' : printf("pass\n" ); br...

2021-12-19 19:32:07 142

原创 存储类定义 C 程序中变量/函数的范围和生命周期

自动存储期:有自动存储期的变量在进入声明该变量的程序块时被建立,它在该程序块活动时存在,退出该程序块时撤销。在函数内部定义的变量成为局部变量。auto 存储类:

2021-12-19 19:28:05 85

原创 阅览室

7-3 阅览室 (10 分)天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E,或者只有E没有S的纪录,系统应能自动忽略这种无效纪录。另外,题目保证书号是书的唯一标识,同一本书在任何时间区间内只可能被一位读者

2021-12-19 13:39:34 42

原创 6-4 数组去最值 (5 分)

比赛成绩中“去掉一个最高分,去掉一个最低分”常有。编写函数,对传入的指定长度的指定数组进行去最值处理(去掉一个最大和一个最小值,其它元素保持相对不变),删除最值时需要移动元素(后边的元素要前移),要求采用高效算法:移动元素尽量少的元素,因为最大最小值是两个,故原来的数组长度自然是减少了两个,主调函数自知,你不用返回删除后的长度,但是,要求删除函数返回总的移动次数(以测试你是不是以最少的移动完成)。函数接口定义:int delMaxMin(int A[],int n);删除最值后的值仍存储于原数

2021-12-19 13:37:57 648

转载 ~按位取反符号

~是按位取反符号scanf的返回值是输入值的个数如果没有输入值就是返回-1-1按位取反结果是0while(~scanf("%d", &n))就是当没有输入的时候退出循环和while(scanf("%d",&n)!=EOF)一个意思知识1:只有-1取反(~-1)是0知识2:scanf读入到EOF时返回-1...

2021-12-16 21:05:53 611

原创 strcmp字符串比较函数

strcmp函数是string compare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数。基本形式为:strcmp(str1,str2)若str1=str2,则返回0;若str1<str2,则返回负数;若str1>str2,则返回正数。即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:1."A"<"B"2."A"<"AB"3."Apple"<"Banana"4."A"&

2021-12-13 19:20:19 2206

原创 结构体的基本知识typedef与struct

struct student {int a;char b;double c;}; //用student标签的结构体,另外声明了变量t1、t2、t3用typedef创建新类型typedef struct { int a;char b;double c;} Simple; //Simple作为类型声明新的结构体变量 Simple u1, u2[20], *u3;...

2021-12-12 21:52:57 250

原创 7-3 找出总分最高的学生 (10 分)

给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和3门课程的成绩([0,100]区间内的整数),要求输出总分最高学生的姓名、学号和总分。输入格式:输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩1 成绩2 成绩3”,中间以空格分隔。输出格式:在一行中输出总分最高学生的姓名、学号和总分,间隔一个空格。题目保证这样的学生是唯一的。输入样例:500001 huanglan 78 8

2021-12-12 21:45:17 1524 1

原创 7-7 链表的逆置

7-7 链表的逆置输入若干个不超过100的整数,建立单链表,然后将链表中所有结点的链接方向逆置,要求仍利用原表的存储空间。输出逆置后的单链表。输入格式:首先输入一个整数T,表示测试数据的组数,然后是T组测试数据。每组测试数据在一行上输入数据个数n及n个不超过100的整数。输出格式:对于每组测试,输出逆置后的单链表,每两个数据之间留一个空格。输入样例:111 55 50 45 40 35 30 25 20 15 10 5输出样例:5 10 15 20 25 30 3

2021-12-11 21:53:16 2323 2

原创 7-3 链表倒数n个结点的乘积

本题要求计算单链表倒数n个结点的乘积。例如,给出单链表1 2 3 4 5,则倒数2个结点的乘积为20。输入格式:输入有2行,第一个行为2个非负整数m和n。其中m为链表结点个数,n为链表倒数结点的数量。题目保证计算结果在int范围内。 第二行为链表的m个数,以空格分隔。输出格式:在一行中输出倒数n个结点的乘积。输入样例:5 21 2 3 4 5结尾无空行输出样例:20结尾无空行样例解释:20 = 4 * 5...

2021-12-11 21:52:27 1192

原创 帮助fy学长元旦礼品分组

元旦快到了,校学生会让冯宇学长负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时间内发完所有纪念品,冯宇学长希望分组的数目最少。 你的任务是写一个程序,帮助冯宇学长找出所有分组方案中分组数最少的一种,找到了的话输出最少的分组数目,冯宇学长会送你份礼物。输入格式:第 1 行包括一个整数 w,为每组纪念品价格之和的上限。 第 2 行为一个整

2021-12-06 18:58:11 50

空空如也

空空如也

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

TA关注的人

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