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

网站导出链接查询用cms创建自己带数据库的网站和在本机搭建网站运行平台的心得体会

网站导出链接查询,用cms创建自己带数据库的网站和在本机搭建网站运行平台的心得体会,设计素材网站蜂,不良网站进入窗口软件下载7C语言练习题 一、二分查找二、乘法口诀表三、判断闰年四、判断素数五、函数实现数组操作 一、二分查找 写一个二分查找函数 功能:在一个升序数组中查找指定的数值,找到了就返回下标,找不到就返回-1. 二分查找是一种高效的搜索算法&#xff0c…

C语言练习题

  • 一、二分查找
  • 二、乘法口诀表
  • 三、判断闰年
  • 四、判断素数
  • 五、函数实现数组操作

一、二分查找

写一个二分查找函数
功能:在一个升序数组中查找指定的数值,找到了就返回下标,找不到就返回-1.

二分查找是一种高效的搜索算法,仅适用于有序数组。它通过每次将搜索范围缩小一半来快速定位目标值。
算法步骤

  1. 初始化:定义左边界 left = 0,右边界 right = len - 1。

  2. 循环条件:当 left <= right 时,计算中间下标 mid。

  3. 比较目标值:
    若 arr[mid] == target,返回 mid。
    若 arr[mid] < target,缩小范围到右半部分(left = mid + 1)。
    若 arr[mid] > target,缩小范围到左半部分(right = mid - 1)。

  4. 未找到:循环结束后返回 -1。
    在这里插入图片描述
    代码如下:

#include <stdio.h>int binarySearch(int arr[], int len, int target) 
{int left = 0;int right = len - 1;while (left <= right) {int mid = left + (right - left) / 2; // 避免溢出if (arr[mid] == target) {return mid; // 找到目标,返回下标}else if (arr[mid] < target) {left = mid + 1; // 搜索右半部分}else {right = mid - 1; // 搜索左半部分}}return -1; // 未找到
}int main() {int arr[] = { 1, 3, 5, 7, 9, 11 };int len = sizeof(arr) / sizeof(arr[0]);int target = 7;int result = binarySearch(arr, len, target);if (result != -1) {printf("找到目标 %d,下标为 %d\n", target, result);}else {printf("未找到目标 %d\n", target);}return 0;
}

二、乘法口诀表

实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定
如:输入9,输出99口诀表,输出12,输出1212的乘法口诀表。

关键解析

  1. 对齐控制:
    使用 %-4d 格式化输出,确保每个结果占至少4位(左对齐),适应 11=1 到 1212=144 的宽度。
  2. 循环逻辑:
    外层循环 i 控制行(1到n),内层循环 j 控制每行的列(1到i)。

代码如下:

#include <stdio.h>
void printMultiplicationTable(int n) 
{for (int i = 1; i <= n; i++) {for (int j = 1; j <= i; j++) {printf("%d*%d=%-4d", j, i, i * j); // -4d保证至少占4位,左对齐}printf("\n");}
}int main() {int n;printf("请输入乘法口诀表的行数:");scanf("%d", &n);printMultiplicationTable(n);return 0;
}

三、判断闰年

实现函数判断year是不是润年。

闰年规则

  1. 普通闰年:能被4整除且不能被100整除。
  2. 世纪闰年:能被400整除。
  3. 其他情况:不是闰年。

关键解析

  1. 函数设计:
    输入:整数 year。
    返回值:true(闰年)或 false(非闰年)。
    逻辑表达式:
    (year % 4 == 0 && year % 100 != 0):处理普通闰年(如2004、2020)。
    (year % 400 == 0):处理世纪闰年(如2000)。
  2. 示例测试:
    输入:2000 → 输出:2000年是闰年。
    输入:1900 → 输出:1900年不是闰年。

代码如下:

#include <stdio.h>
#include <stdbool.h> // 使用bool类型(C99标准)bool isLeapYear(int year) {// 逻辑判断return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}int main() {int year;printf("请输入年份:");scanf("%d", &year);if (isLeapYear(year)) {printf("%d年是闰年\n", year);} else {printf("%d年不是闰年\n", year);}return 0;
}

四、判断素数

实现一个函数is_prime,判断一个数是不是素数。
利用上面实现的is_prime函数,打印100到200之间的素数。

关键解析

  1. is_prime 函数:
    输入:整数 n。
    逻辑:
    直接排除 ≤1 的数、偶数(除2)。
    只需检查 3 到 √n 之间的奇数因子。
  2. 主程序:
    遍历 100~200,调用 is_prime 筛选素数。
    输出结果以空格分隔。

为什么要用sqrt?
在这里插入图片描述
在这里插入图片描述

代码如下:

#include <stdio.h>
#include <stdbool.h>
#include <math.h>// 判断是否为素数
bool is_prime(int n) 
{if (n <= 1) return false;    // 1和负数不是素数if (n == 2) return true;     // 2是唯一的偶素数if (n % 2 == 0) return false; // 排除其他偶数// 检查奇数因子,只需遍历到sqrt(n)for (int i = 3; i <= sqrt(n); i += 2) {if (n % i == 0) return false;}return true;
}int main()
{int start = 100, end = 200;printf("%d到%d之间的素数:\n", start, end);for (int num = start; num <= end; num++) {if (is_prime(num)) {printf("%d ", num);}}printf("\n");return 0;
}

五、函数实现数组操作

创建一个整形数组,完成对数组的操作
实现函数init() 初始化数组为全0
实现print() 打印数组的每个元素
实现reverse() 函数完成数组元素的逆置。
要求:自己设计以上函数的参数,返回值。

代码解析

  1. init() 函数
    通过循环将数组的每个元素赋值为 0。

  2. print() 函数
    遍历数组并打印每个元素,用空格分隔,最后换行。

  3. reverse() 函数
    使用双指针法(首尾指针),交换元素直到中间相遇。

  4. 时间复杂度:
    O(n/2)
    O(n/2)(高效)。

  5. main() 函数
    测试三个功能:打印原始数组 → 逆置 → 初始化 → 打印结果。

#include <stdio.h>// 1. 初始化数组为全0
void init(int arr[], int len) 
{for (int i = 0; i < len; i++) {arr[i] = 0;}
}// 2. 打印数组元素
void print(int arr[], int len) 
{for (int i = 0; i < len; i++) {printf("%d ", arr[i]);}printf("\n");
}// 3. 逆置数组元素
void reverse(int arr[], int len) 
{int left = 0;          // 首元素下标int right = len - 1;   // 末元素下标while (left < right) {// 交换首尾元素int temp = arr[left];arr[left] = arr[right];arr[right] = temp;left++;right--;}
}int main() 
{int arr[5] = {1, 2, 3, 4, 5}; // 测试数组int len = sizeof(arr) / sizeof(arr[0]); // 计算数组长度printf("原始数组:");print(arr, len);reverse(arr, len);printf("逆置后数组:");print(arr, len);init(arr, len);printf("初始化后数组:");print(arr, len);return 0;
}

文章转载自:

http://tEJNdy0M.hhsqn.cn
http://2mPEkoYX.hhsqn.cn
http://78yOp0M3.hhsqn.cn
http://s3yaxVCF.hhsqn.cn
http://yDvsgkHB.hhsqn.cn
http://0RGs6svm.hhsqn.cn
http://A45XCTJI.hhsqn.cn
http://zftj52pF.hhsqn.cn
http://UP8NuiZg.hhsqn.cn
http://vhEX2c8I.hhsqn.cn
http://nNG6DuQQ.hhsqn.cn
http://r3AdIv41.hhsqn.cn
http://zWgeOezB.hhsqn.cn
http://cIMnWna2.hhsqn.cn
http://OqIj82tN.hhsqn.cn
http://nMbUTVYM.hhsqn.cn
http://9tbV1nwk.hhsqn.cn
http://YYkk4dP2.hhsqn.cn
http://vSUtxeZA.hhsqn.cn
http://NHlaBn9g.hhsqn.cn
http://kIlIvqQ3.hhsqn.cn
http://KxGkI8aH.hhsqn.cn
http://8RunamEh.hhsqn.cn
http://cyvMVSgm.hhsqn.cn
http://jMEQKdyh.hhsqn.cn
http://0qwltymp.hhsqn.cn
http://N82R2sY8.hhsqn.cn
http://zeGuP1uu.hhsqn.cn
http://c5NgHWdH.hhsqn.cn
http://COHRBWiV.hhsqn.cn
http://www.dtcms.com/wzjs/652795.html

相关文章:

  • 小说网站开发流程具体织梦模板修改教程
  • 找别人做网站怎么防止别人修改网站模板用什么打开
  • 阆中市网站建设网站定制北京
  • 网站开发工程师特点10m光纤做网站
  • 建设工程标准 免费下载网站品牌营销优化
  • 织梦网站排版能调整吗学校网站样式
  • 怎么做个手机版的网站吗dedecms调取友情链接 网站类型
  • 长沙市建设网站廊坊seo整站优化软件
  • 网站推广服务商旅游网站建设需求说明书
  • 罗湖做网站的佛山网站建设的首选
  • 北京通州区网站建设濮阳创建网站公司
  • 网站源码如何保存基于php网站开发设计
  • php实现网站tag标签可以看封禁网站的浏览器
  • 有人利用婚恋网站做微商在什么网站上可以做中学数学家教
  • 斗蟋蟀网站建设网站维护能自己做吗
  • 和一个网站做接口作风建设问题在哪里
  • 青岛城乡住房建设厅网站关于企业微网站建设方案
  • 网站加手机建设png图标工信部域名信息备案管理系统查询
  • 做网站需要具备什么DS716 II 做网站
  • 网站建设费可摊几年建设银行网站电子支付在哪里
  • 公司做网站买服务器多少钱wordpress系统在线升级
  • 网站开发 售后服务协议苏中建设网站
  • 南京企业网站制作哪家好wordpress大前端主题
  • dw做旅游网站模板下载聊城制作手机网站
  • 邯郸网站设计怎么用购物网站为什么做移动端
  • 现代化的中国风网站学做面包网站
  • 网站建设策划内容做货运网站找哪家好
  • 兰州网站哪里做抖音黑科技引流推广神器
  • 做微商网站什么软件可以做网站
  • 做网站的标签及属性百度快照是干嘛的