当前位置: 首页 > news >正文

【C语言蓝桥杯每日一题】——等差数列

【C语言蓝桥杯每日一题】——等差数列😎

  • 前言🙌
    • 等差数列🙌
      • 解题思路分析:😍
      • 解题源代码分享:😍
  • 总结撒花💞

追梦之旅,你我同行

   
😎博客昵称:博客小梦
😊最喜欢的座右铭:全神贯注的上吧!!!
😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!

😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
在这里插入图片描述

前言🙌

    哈喽各位友友们😊,我今天又学到了很多有趣的知识现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享【C语言蓝桥杯每日一题】——等差数列~ 都是精华内容,可不要错过哟!!!😍😍😍

等差数列🙌

在这里插入图片描述

这道题,我用到了C语言中的qsort库函数,它是一种基于快排算法思想的排序函数。首先,想让大家认识一下qsort库函数的大概样子,和如何使用。

在这里插入图片描述

在这里插入图片描述

这个qsort库函数有四个参数:

  • void *base : 指向一个需要比较的一组数据的空间的指针;
  • size_t num: 比较的元素个数;
  • size_t width:元素的大小(字节);
  • int (__cdecl *compare )(const void *elem1, const void *elem2 ) :
    一个函数指针
  • 这个函数设计的返回值和strcmp函数的设计思路一致。

解题思路分析:😍

  • 首选认真将题目看完,因为是涉及到等差数列,所以要回想起等差数列的一些性质。
  • 由等差数列的 an = a1 + (n - 1) x d; 我们可以推出 项数 n =( ( an - a1)
    / d ) + 1 。
  • 一般刷题网站都是支持变长数组语法的,所以我这里利用变长数组创建一个存放n个整型变量的数组。
  • 然后利用qsort将数组进行一个升序排序(qsort库函数本身设计就是进行一个升序排序)。
  • 然后寻找相邻两个数的最小差值作为这个数组的公差。因为满足这个就能保证所有其他元素设计成最短的符合条件的等差数列。

解题源代码分享:😍

#include <stdio.h>
#include <stdlib.h>int compare(const void* e1, const void* e2)
{return *(int*)e1 - *(int*)e2;
}
int min(int a, int b)
{return a < b ? a : b;
}int main(int argc, char* argv[])
{int n = 0;scanf("%d", &n);int arr[n];int i = 0;int d = 0;for (i = 0; i < n; i++){scanf("%d", &arr[i]);}qsort(arr, n, sizeof(int), compare);d = arr[1] - arr[0];for (i = 1; i < n - 1; i++){d = min(arr[i + 1] - arr[i], d);}if (d == 0)printf("%d", n);elseprintf("%d", ((arr[n - 1] - arr[0]) / d) + 1);return 0;
}

程序输出结果验证: 😊

在这里插入图片描述

总结撒花💞

   本篇文章旨在分享【C语言蓝桥杯每日一题】——等差数列。希望大家通过阅读此文有所收获!😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘

http://www.lryc.cn/news/44766.html

相关文章:

  • EM7电磁铁的技术参数
  • 选择很重要,骑友,怎么挑选骑行装备?
  • 【JUC面试题】Java并发编程面试题
  • spark笔记
  • 丢失了packet.dll原因和解决方法全面指南
  • 算法练习随记(三)
  • 基于Python 进行卫星图像多种指数分析
  • (Week 15)综合复习(C++,字符串,数学)
  • 迪赛智慧数——柱状图(正负条形图):“光棍”排行榜TOP10省份
  • IDEA集成chatGTP让你编码如虎添翼
  • Python3 os.close() 方法、Python3 File readline() 方法
  • Vision Pro 自己写的一些自定义工具(c#)
  • ARM/FPGA/DSP板卡选型大全,总有一款适合您
  • 【C语言蓝桥杯每日一题】—— 既约分数
  • 【机器学习】线性回归
  • 用ChatGPT学习多传感器融合中的基础知识
  • PyCharm2020介绍
  • Le Potato + Jumbospot MMDVM热点盒子
  • 蓝桥杯第19天(Python)(疯狂刷题第2天)
  • (五)手把手带你搭建精美简洁的个人时间管理网站—基于Axure的首页原型设计
  • 阿里面试:为什么MySQL不建议使用delete删除数据?
  • 低代码开发公司:用科技强力开启产业分工新时代!
  • 参考mfa官方文档实践笔记(亲测)
  • 【 第六章 拦截器,注解配置springMVC,springMVC执行流程】
  • 一种编译器视角下的python性能优化
  • 太逼真!这个韩国虚拟女团你追不追?
  • 安全与道路测试:自动驾驶系统安全性探究
  • chatGPT学英语,真香!!!
  • 12 Cache Memory
  • 【CSS系列】第一章 · CSS基础