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

建设网站的企业公司免费观看

建设网站的企业公司,免费观看,摄影协会网站源码,网页制作教程电子书考点#xff1a;【字符串】【数组】 题目1. 打印X 题目描述 输入一个正整数N#xff0c; 你需要按样例的方式返回一个字符串列表。 1≤N≤15。 样例 1#xff1a; 输入#xff1a;1 输出#xff1a;[“X”] X样例 2#xff1a; 输入#xff1a;2 [“XX”, “XX”] …考点【字符串】【数组】 题目1. 打印X 题目描述 输入一个正整数N 你需要按样例的方式返回一个字符串列表。 1≤N≤15。 样例 1 输入1 输出[“X”] X样例 2 输入2 [“XX”, “XX”] XX XX样例 3 输入3 [“X X”, X , “X X”] X XX X X样例 4 输入4 [“X X”, XX , XX , “X X”] 理解成图案 X X XX XX X X解题代码如下 #include stdio.h #include stdlib.hchar** generatePattern(int N) {// 分配字符串列表的内存空间char** pattern (char**)malloc(N * sizeof(char*));// 为每个字符串分配内存空间for (int i 0; i N; i) {pattern[i] (char*)malloc((N1) * sizeof(char));}// 构建字符串列表for (int i 0; i N; i) {for (int j 0; j N; j) {if (j i || j (N - i - 1)) {pattern[i][j] X;}else {pattern[i][j] ;}}pattern[i][N] \0; // 字符串末尾添加结束符}return pattern; }int main() {int N;printf(请输入一个正整数N);scanf_s(%d, N);char** pattern generatePattern(N);// 输出字符串列表for (int i 0; i N; i) {printf(%s\n, pattern[i]);}// 释放内存空间for (int i 0; i N; i) {free(pattern[i]);}free(pattern);return 0; }备注其实也可以构建一个数组让其先初始化全是’ ‘空格然后在对称的idx和N-idx-1改写成’X’。 题目2. 最长和谐子序列 题目描述 我们将一个和谐数组定义为是其最大值和最小值之间的差值恰好为1的数组。现在给定一个整数数组您需要在其所有可能的子序列中找到其最长的和谐子序列的长度。示例 输入[1,3,2,2,5,2,3,7] 输出5 解释最长的和谐子序列是[3,2,2,2,3]。解题思路 先将数组排序然后再进行相近元素进行比较统计两数之差小于等于1的元素个数不停更新这种元素的个数直达找到最大长度。 解题代码 #include stdio.h #include stdlib.h// 比较函数用于排序 int cmpFunc(const void* a, const void* b) {return (*(int*)a - *(int*)b); //升序 }int findLHS(int* nums, int numsSize) {int maxLen 0;// 对数组进行排序qsort(nums, numsSize, sizeof(int), cmpFunc);for (int i 0; i numsSize; i){int count 1;int j i 1;// 计算当前数字和后续数字之间的差值while (j numsSize nums[j] - nums[i] 1){if (nums[j] nums[i] || nums[j] nums[i] 1){count;}j;}// 更新最大长度if (count maxLen){maxLen count;}}return maxLen; }int main() {int nums[] { 1, 3, 2, 2, 5, 2, 3, 7 };int numsSize sizeof(nums) / sizeof(nums[0]);int maxLength findLHS(nums, numsSize);printf(最长的和谐子序列的长度为%d\n, maxLength);return 0; }备注代码用到stdlib.h中的qsort排序函数。函数原型如下 void qsort(void *base, size_t num, size_t size, int (*compar)(const void *, const void *)); //其中入参4: int (*compar)(const void *a, const void *b) {return (*(int *)a) - *(int *)b)); //升序//return (*(int *)b) - *(int *)a)); //降序//该函数注意点首先void *需要先强制转成待比较的数据类型才行比如如下return (*(double *)a) - *(double *)b) 0 ? 1 : - 1); //升序 }void *base: 一个指向要排序的数组或对象的指针即数组的首地址或对象的地址。size_t num: 数组中元素的数量。size_t size: 数组中每个元素的大小以字节为单位。int (*compar)(const void *, const void *): 指向比较函数的指针。该函数用于定义元素之间的比较规则并返回一个整数值表示比较结果。该比较函数接受两个指向元素的指针并返回一个负整数、零或正整数来表示第一个元素小于、等于或大于第二个元素。 题目3. 用C语言实现快速排序 算法描述 用C语言实现对一个数组进行快速排序 解题代码 #include stdio.h// 快速排序函数 void quickSort(int arr[], int low, int high) {if (low high) {int pivot arr[low]; //选取数组第一个元素作为基准值int i low, j high;while (i j) {// 从右向左找小于基准值的元素while (i j arr[j] pivot)j--;if (i j)arr[i] arr[j];// 从左向右找大于基准值的元素while (i j arr[i] pivot)i;if (i j)arr[j--] arr[i];}arr[i] pivot; // 将基准值放入中间位置// 递归排序基准值左边和右边的子数组quickSort(arr, low, i - 1);quickSort(arr, i 1, high);} }int main() {int arr[] {7, 9, 1, 6, 3, 2};int size sizeof(arr) / sizeof(arr[0]);printf(原始数组);for (int i 0; i size; i)printf(%d , arr[i]);printf(\n);quickSort(arr, 0, size - 1);printf(排序后数组);for (int i 0; i size; i)printf(%d , arr[i]);printf(\n);return 0; }运行结果 原始数组7 9 1 6 3 2 排序后数组1 2 3 6 7 9
http://www.hkea.cn/news/14277971/

相关文章:

  • 国外化工网站模板注册公司怎么注销
  • 拨号服务器做网站nat123app与网站的关系
  • 图片手机网站建设多合一网站源码
  • 建筑网站建设案例高手做网站
  • linux服务器怎么做网站织梦网站开发视频
  • 网站关键词的作用电子商务网站建设背景
  • 深圳网站营销公司门户网站开发平台
  • 南京公司网站建立手机版网站嵌入代码
  • 手机网站app制作公司万江建设网站
  • 网站制作方案去哪找星月网络公司做的网站
  • 天元建设集团有限公司企业号重庆网站关键字优化
  • 怎样做免费网站建设临淄网站建设
  • 做营销网站视频wordpress 博客标题
  • 做做网站app下载2023客户关系管理的定义
  • 昆明免费网站建设郑州制作平台网站
  • logo素材网站企业邮箱号是什么样的格式
  • 北京企业做网站报价湛江网站建设方案服务
  • 做精神科网站价格建立网站的主要步骤
  • 欧美模板网站建设网站的空间是什么意思
  • 福州最好的网站建设服务商广告设计软件免费下载
  • 泰州市靖靖建设局网站机械网站源码 php
  • 如何将网站上传到空间机票售票网站开发
  • 模板建站和仿站51网页版在线登录入口
  • 卓光网站建设怎么做网站
  • 瑞安网站建设步骤WordPress如何设置站点名称
  • 衡水专业网站设计短视频运营项目计划书
  • 大同哪有做网站的郑州市的实惠推广网站
  • 移动端网站建设需要注意哪些问题微盟网站模板
  • 网站建设怎么付款网站建设人员的岗位职责
  • 做钢管的去什么网站发信息中国人寿保险官网