蓝桥杯冲刺31 Day6

蓝桥杯冲刺的第六天 我可以

** 我可以,我能行,我还能一打百题 **

等差数列

题目表述:

在这里插入图片描述

编程分析:

  1. 首先我们的数字长度是随机的不确定的,所以要用输入循环
  2. 给的数可能为乱序
  3. 找到最少等差数列

解决思考

  1. 首先我们需要建立循环输出并将它们保存起来,我用的是一个数组。
  2. 然后我们需要给这个数排序,以方便找到最小差值来作为我们等差数列的公差
  3. 利用公式 n=(an-a1)/d +1 来求的我们要的个数

代码如下:

#include "stdio.h"
#include "stdlib.h"

//数组排序
int inc(const void *a, const void *b){
	
 	return *(int *)a - *(int *)b;
} 
 
int main()
{
	int i;
	int n;
	int cont;//记录个数
	scanf("%d",&n);
	int s[n];
	for(i=0;i<n;i++){
		scanf("%d",&s[i]);
	}
	//引用函数
	qsort(s, n, sizeof(int), inc);
// 	for (int i = 0; i < n; i++){
//  printf("%d ", s[i]);
//	}
	//计算最小等差
	int a[n-1];
	for(i=0;i<n-1;i++){
			a[i] = s[i+1]- s[i];
	}
	qsort(a, n-1, sizeof(int), inc);
//	for (int i = 0; i < n; i++){
//	 	printf("%d ", a[i]);
//	}
//	printf("\n%d",a[0]);
    cont = (s[n-1]-s[0])/a[0] +1;
    printf("\n%d",cont);
	return 0;	
}

当然这个代码可能不够好,明显的问题是输入格式有问题,但能力如此了也想了好久,,,以后的日子慢慢加油吧

巧排扑克牌

一张图你就秒懂 拒绝花里胡哨的。

在这里插入图片描述

对,在纸上或者excel上直接演练就行了 对于填空题来说也算是小技巧吧。
当然赛下写出来更好。


今日诗歌摘要:

海到尽头天作岸,山登绝顶我为峰。《涅槃重生》



版权声明:本文为weixin_61383086原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。