news 2026/6/10 14:43:22

C语言 作业3

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C语言 作业3

摘要:本文包含多个C语言编程问题及解法:1) 数组越界导致死循环;2) 汽水兑换问题(20元可换39瓶);3) 打印菱形图案;4) 计算数字序列前5项和(如2+22+222...);5) 递归实现斐波那契数列、数字幂运算和数字各位求和;6) 异或操作找出数组中唯一出现数字("单身狗"问题);7) 打印整数的二进制奇偶位。重点展示了递归的应用和位操作技巧。

程序死循环解释

未执行完for循环的arr数组开始的值

执行完for循环的arr数组的值

arr数组超过10的访问就会越界 导致死循环 不知道指向哪里

喝汽水问题

喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水(编程实现)

打印菱形

求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,、

其中a是一个数字,

例如:2+22+222+2222+22222

函数递归

函数计算

斐波那契数列

0 1 1 2 3 5 8 13

从第三项开始前两项和等于第三项

递归方法

非递归方法

c计算第n项和第n+1项的和

0 1 1 2 3 5 8 13

a=0 b=1 c=a+b=1

b=c=1

a=b=1

c=a+b=1+1=2

编写一个函数实现n的k次方,使用递归实现

int Pow(int n, int k) { if(k==0) return 1; else if(k>=1) { return n*Pow(n, k-1); } }

写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和

例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19

输入:1729,输出:19

int DigitSum(int n)//1729 { if(n>9) return DigitSum(n/10)+n%10; else return n; }

递归方式实现打印一个整数的每一位

void print(unsigned int n) { if(n>9) print(n/10); printf("%d ", n%10); }

操作符属性

单身狗

在一个整型数组中,只有一个数字出现一次,其他数组都是成对出现的,请找出那个只出现一次的数字。

例如:

数组中有:1 2 3 4 5 1 2 3 4,只有5出现一次,其他数字都出现2次,找出5

int find_single_dog(int arr[], int sz) { int ret = 0; int i = 0; for (i = 0; i < sz; i++) { ret ^= arr[i]; } return ret; } int main() { int arr[] = { 1,2,3,4,5,1,2,3,4 }; int sz = sizeof(arr) / sizeof(arr[0]); int dog = find_single_dog(arr, sz); printf("%d\n", dog); return 0; }

打印整数二进制的奇数位和偶数位

void Printbit(int num) { for(int i=31; i>=1; i-=2) { printf("%d ", (num>>i)&1); } printf("\n"); for(int i=30; i>=0; i-=2) { printf("%d ", (num>>i)&1); } printf("\n"); }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:46:19

YOLOv8基础到进阶:从模型加载到性能优化的全流程项目教程

文章目录 引读:这个项目能帮你解决什么? 一、快速入门:10分钟跑通YOLOv8基础流程 1. 模型加载与预训练权重使用 2. 自定义数据集配置 3. 一键启动训练 二、核心操作:训练后验证与推理 1. 模型验证(获取性能指标) 2. 多场景推理(图片/视频/文件夹) 三、毕设加分:YOLOv8…

作者头像 李华
网站建设 2026/6/10 14:25:35

YOLOv8 融合多尺度扩张注意力机制(MSDA):实现长距离特征捕获性能提升40%的实战指南

文章目录 【毕设级项目】YOLOv8+多尺度扩张注意力(MSDA):长距离特征捕获能力提升40%的实战教程 一、项目核心:什么是MSDA注意力? 二、环境准备:5分钟配置依赖 三、步骤1:编写MSDA注意力模块(dilateformer.py) 四、步骤2:注册MSDA模块(修改tasks.py) 五、步骤3:编写…

作者头像 李华
网站建设 2026/6/10 14:27:30

第3章:复习篇——第4节:创建、管理视图与索引---题库

目录 一、单选题 1.数据库中只存放视图的( )。 2.视图是从一个表或者多个表导出的( )。 3.对于视图的数据源&#xff0c;描述不正确的是( )。 4.下面用来创建视图的语句是( )。 5.下面用来修改视图的语句是( )。 6.下面用来删除视图的语句是( )。 7.已知存在学生表 Stu…

作者头像 李华