![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 72
想吃糯米藕
这个作者很懒,什么都没留下…
展开
-
题解12:归并排序
主要思想:与快速排序不同的是,快速排序是先排再递归,而归并排序是先分割递归再排。归并排序难点在于对于你所分割的区间经过处理后的合成。AC 代码:#includeusing namespace std;const int N=100010;int q[N],n,temp[N];void mergesort(int q[],int l,int r){if(l>=r)return;int mid=(l+r)/2;mergesort(q,l,mid);mergesort(q,mid+.原创 2020-09-12 14:48:36 · 157 阅读 · 0 评论 -
题解11:区间交交
基本思想:先把第一个区间里面的存放进结构体中,接着用循环对第二个区间的值进行输入和对第一个区间的判断,最后输出结果,一定是两个两个进行比较,因为是成对的。AC代码:#include<stdio.h>struct list{double b;double e;}sz[100];//定义一个结构体,用来存放第一个区间内的数据int main(){int n,m,i,j,...原创 2019-12-30 20:40:01 · 564 阅读 · 1 评论 -
题解10:开关灯
基本思路:从前往后,只要是某个人的对应倍数编号,便进行相反处理,最后按照格式输出关闭的灯的编号AC代码:#include<stdio.h>int main(){int n,k,i,j;bool a[5001]={1};scanf("%d%d",&n,&k);for(i=1;i<=k;i++)for(j=i;j<=n;j+=i)//满足倍...原创 2019-12-25 21:31:39 · 624 阅读 · 0 评论 -
题解9:正常血压
基本思路:清楚输入后,理理思路,对连续的时长进行记录,但是有不正常的血压的话可以通过再建一个变量的方式进行对最长的连续时长的记录,最后输出。AC代码:#include<stdio.hint main(){int i,n,a,b,k=0,f=0;scanf("%d",&n);//输入血压的个数for(i=1;i<=n;i++){scanf("%d%d",&...原创 2019-12-25 21:31:08 · 963 阅读 · 3 评论 -
题解8:津津的储蓄计划
基本思路:题目要求输入每个月的预期花销,可以通过循环来实现,并且要注意判断钱够花不够花的问题,结合题目选择输出,基本逻辑就是先加300,减去预期花销,判断条件,继续循环输入预期花销,都满足的话最后输出题目要求的钱数。AC代码:#include<stdio.h>int main(){int i,a=0,b,c=0;for(i=1;i<=12;i++)//十二个月{s...原创 2019-12-25 21:29:42 · 1702 阅读 · 2 评论 -
题解7:球弹跳高度的计算
基本思想:题目要求求球在第10次落地时,经过多少米, 第10次落地反弹的高度是多少,首先要注意起始高度别忘了,其次再对题目进行分析,弄明白球每落地一次前后的状态,最后是代码的实现。AC代码#include<stdio.h>#include<math.h>int main(){int i,h;double sum,a;//注意数据类型scanf("%d",&...原创 2019-12-25 21:28:06 · 2994 阅读 · 5 评论 -
题解6:斐波那契数列
基本思路:求解此题应该先把题目的规律找到,并且题目中告诉很明确,只用解决代码的实现问题就行了。AC代码:#include<stdio.h>int main(){int i,k;scanf("%d",&k);//要求的第k个数int a[k+10]={0};a[0]=1;//第一个数为1a[1]=1;第二个数为1for(i=2;i<=k;i++)a[...原创 2019-12-25 19:37:19 · 259 阅读 · 0 评论 -
题解5:高精度减法
基本思路:对于给定的两个数值,把其当成字符串,进一步转化成整型,逆序存放在整型数组中,对其每一个位进行相减,但是要注意借位的使用,最后为了保险在设置一个循环,把前置0去掉,最后输出结果。AC代码:#include<stdio.h>#include #include <string.h>#define N 100010;using namespace std;...原创 2019-12-13 22:35:42 · 197 阅读 · 0 评论 -
题解4:高精度加法
基本思想:涉及到大数的计算,应该用高精度加法进行运算(高精度加法:一种精确到位的算法,把输入的两个数当作字符串,逆序把每个“字母”分给数组,再通过一位的加法和进位的方式进行计算的算法)AC代码:#include#include<string.h>using namespace std;int aa[100001],bb[100001],cc[100001];//用作存放的...原创 2019-12-11 22:19:30 · 262 阅读 · 0 评论 -
题解3:快速排序
基本思路:该题有时间限制,所以应该用快速排序的方式进行排序。(快速排序:对于输入的一系列整数,先选一个基准,将比他小的放在左边,比它大的放在右边,再从两边开始扫描,每扫描一次就更换扫描方向(先从右或先从左),不断进行调整,知道达成目的为止)AC代码:#include <stdio.h>const int N=1000010;int q[N];void swap(int *...原创 2019-12-09 22:57:51 · 216 阅读 · 0 评论 -
题解2:Supper字符串
基本思路:为了简便,先把整个字符串对应的字母都换成大写或小写,然后对每一个出现的字母进行记录次数,把最大的那个次数求出来,乘以2与n进行比较,满足条件则直接输出,否则n–;进行判断,最后将符合条件的输出。AC代码:#include<string.h>#includeusing namespace std;int main(){char c[10000],b[10000...原创 2019-12-09 22:57:34 · 202 阅读 · 0 评论 -
题解1:求一系列整数中出现最多的数字
题目:思路:输入该数后,先进行数位分离,找出出现次数最多的那一个次数;然后运用循环进行遍历,当最大次数与对应数出现的次数相等的时候,输出数。AC代码:#include<stdio.h>int main(){int n,i,max=0;scanf("%d",&n);int b[20]={0},s[n+10];//用数组进行存放,用的时候比较简便for(i=...原创 2019-12-09 22:56:40 · 708 阅读 · 0 评论