算法例题
每天记录新知识,新例题
每天精彩多一点
希望每天的生活都绚丽多彩
展开
-
sort排序,再来一篇!
蒜头君班上一共有n个同学,每个同学依次编号为1,2,…n,每个同学有一个分数。现在他请你帮忙做一份全班同学的成绩排名表。首先你需要按照分数从高到低将所有同学排序,再输出成绩单上每个同学的编号。保证任意两个同学的分数互不相同。#include<cstdio>#include<iostream>#include<algorithm>using namespace std;struct Student { int score; int id原创 2020-09-19 22:09:29 · 822 阅读 · 1 评论 -
sort排序,再次学习!
1.有N个正浮点数,均小于10000.0,现在需要将这些浮点数按照离他距离最近整数的差从小到大进行排序,浮点数与距离最近的整数的差越小,这个浮点数的排位越靠前,如果差相等,按照浮点数的值从小到大排序。#include <cstdio>#include <algorithm>#include <cmath>using namespace std;const double EPSILON = 1e-6;double num[105];bool cmp(doubl原创 2020-09-15 23:09:03 · 266 阅读 · 0 评论 -
编程小题,一学就会
1.纪念日问题输入4个整数y,m,d,k,表示事件发生的日期,求的是k天之后的纪念日,输出格式按照yyyy-mm-dd的格式输出k天之后的日期。#include<cstdio>int day[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};int main(){ int y,m,d,k; scanf("%d%d%d%d",&y,&m,&d,&k); for(int i = 1;i <= k;i++)原创 2020-08-09 16:02:53 · 142 阅读 · 0 评论 -
sort排序,一学就会
对于一个数组,通过对数组中的元素进行交换,我们可以将数组中的元素按从大到小或从小到大的顺序排列。当我们希望对数组中的元素进行排序时,C++为我们提供了sort,有了sort这种工具,我们将不会再纠结排序的过程。在我们需要用sort时,需要先引入一个算法的库-----<algorithm>,sort可以对任何类型的元素进行排序,包括我们自己定义的结构体。用sort时在C++文件开始位置加入:#include <algorithm>下面这段代码展示的就是sort的一般用法,默原创 2020-08-10 12:37:32 · 239 阅读 · 0 评论 -
文艺复兴--暑假第一篇--C++随笔
1.经常会遇到有一种问题问的是几月几号是星期几,有一个公式可以快速的根据一个日期计算出这一天是星期几,这个公式被称为蔡基姆拉尔森计算公式。假设星期为W,年份为Y,月份为M,日期为D,则W = (D + 2 * M + 3 * (M+1)/5 +Y +Y/4 - Y/100 + Y/400)%7,然后把计算出的结果加1就是真正的星期几了。注意:每年的1,2月份要当成上一年13,14月进行计算,上述的除法均为整除。例题:宏伟的生日快到了,宏伟希望他的生日是周末,因为周一到周五他要和同学讨论,请你帮忙计原创 2020-08-08 23:30:39 · 110 阅读 · 0 评论 -
文艺复兴(C++)寻找字符串
小宏和大脸在公园里散步,走着走着,他们都捡到了一个字符串,小宏比较好奇,他想知道他捡到的字符串在大脸捡到的字符串中出现了几次,例如:小宏的字符串为aba,大脸的字符串为aababbaba,这就是出现了两次。输入格式:两行,第一行是小宏的字符串,第二行是大脸的字符串abaaababbaba输出格式:2#include<cstdio>#include<cstring>#include<iostream>using namespace std;ch原创 2020-06-03 15:05:35 · 240 阅读 · 0 评论 -
文艺复兴(C++)对称字符串
有一组有规律的字符串如下:A1 :AA2 :ABAA3 :ABACABAA4 :ABACABADABACABA现在给你一个数字,让你输出类似形式的字符串。#include<stdio.h>#include<string.h>char res[5000000];int main(){ int n; scanf("%d",&n); int len = 0; for(int i = 1;i <= n;i++) { strcat(res + l原创 2020-05-30 18:41:38 · 660 阅读 · 0 评论 -
文艺复兴(C++)造房子
假设地图是一个n行m列的方格地图,地图每个格子*代表一个宝藏,我们要建房子来把宝藏包围起来。比如:2行2列的地图如下:* ** *所对应的房子就是这样的:+-+-+|*|*|+-+-+|*|*|+-+-+现在给你一组n,m的值,要求能够输出对应样式的房子。#include <iostream>using namespace std;int main(){ int n,m; cin >> n >> m; for (int i = 1;i原创 2020-05-30 15:51:35 · 604 阅读 · 0 评论 -
文艺复兴(C++)神奇三角形
1.按照题目描述,输出字母三角形样例输入12样例输出1 ABBB样例输入23样例输出2 A BBBCCCCC代码实现:#include<iostream>#include<string>using namespace std;int main(){ int i,n; cin >> n原创 2020-05-30 13:03:40 · 666 阅读 · 0 评论 -
文艺复兴,回首C++
2016蓝桥杯省赛B组第一题有一堆煤球,堆成三角棱锥形。具体:第一层放1个,第二层3个(排列成三角形) ,第三层6个(排列成三角形),第四层10个(排列成三角形),如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。#include<iostream>using namespace std;int main(){ int i; int sum = 0 ; for(i = 1 ; i<=原创 2020-05-24 22:44:24 · 270 阅读 · 0 评论