Flexible C++

贪吃蛇位图版(创新玩法)程序 完美的贪吃蛇程序,用位图绘制的动漫风格的蛇身,贪吃蛇经典的教学例子! 立即下载
C++是一门非常灵活的语言,只要充分发挥你的想象, 再普通的东西都能玩出新花样

1、1~1000求和
循环?递归?再简单不过的题目了。但是如果不允许你用判断语句呢?
如果你熟悉switch的内部实现,那么你很容易想到使用函数指针数组。

#include <cstdio>

typedef int (*fun)(int);

int f1(int i) {return 0;}
int f2(int i) {fun f[2]={f1,f2}; return i+f[!!i](i-1);}
int main()
{
    printf("%d/n",f2(1000));
}

2、输出1,2,...,100,99,...,2,1
如果同样不让你用判断语句呢?你仍然可以使用函数指针数组:

#include <cstdio>

typedef void (*fun)(int i,int n);

void f1(int i,int n);
void f2(int i,int n);
void f3(int i,int n);

void f1(int i,int n)
{
    fun f[2]={f1,f2};

    printf("%d/n",i);
    f[i+1==n](i+1,n);
}
void f2(int i,int n)
{
    fun f[2]={f2,f3};

    printf("%d/n",i);
    f[i==1](i-1,n);
}
void f3(int i,int n) {}

int main()
{
    f1(1,100);
}

不过我们有更简洁的方法。
短路算法和逗号表达式粉墨登场了,一行搞定~

#include <cstdio>

void f(int i,int n)
{
    printf("%d/n",i),(i<n)&&(f(i+1,n),printf("%d/n",i));
}

int main()
{
    f(1,100);
}
27个经典趣味C++程序实例 包括"100米比赛排名" "表白爱之“心”" "我的朋友信息管理""一个小公司的工资管理系统" "智者生存"在趣味中提升写代码能力 立即下载

相关推荐

【SAP报错】BK128&K5112

在ECC中使用CO1F进行Progressive confirmation时,依次遇到了如下的报错。

weixin_45228526的博客 781

c++作业3

#include void main()  { int year,month,d; printf("请输入年"); scanf("%d",&year); printf("请输入月"); scanf("%d",&month); switch(month) {       case1:case3:case5:case7:case8:case10:case12: printf("

balabaladada的博客 364

Silvaco TCAD仿真例库——肖特基二极管反向击穿特性(案例)

本文详细介绍了使用Silvaco TCAD仿真例库分析肖特基二极管反向击穿特性的完整流程。通过搭建带保护环的器件结构,配置关键物理模型,并执行反向偏压扫描,深入探讨了雪崩击穿机制、电场分布及设计参数(如漂移区浓度、保护环)对击穿电压的影响,为功率半导体设计与可靠性分析提供了实用的虚拟实验方法。

weixin_29165465的博客 388

C/c++趣味程序实例(献给C/C++初学者)

绘制余弦曲线 绘制余弦曲线和直线 绘制圆 1.绘制余弦曲线 ——在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线 #include<stdio.h> #include<math.h> int main() { double y; int x,m; for(y=1;y>=-1;y-=0.1) /*y为列方向,值从1到-1,步长为0....

qq_41918762的博客 6901

AI驱动全栈开发实战:基于Spec与Codex的规格驱动开发指南

1. 先搞清楚“AI重构前端全栈”到底在解决什么实际问题 最近很多人在聊“AI重构前端全栈”,听起来像是又一个营销概念。但如果你真的拆开看,它核心解决的是一个非常具体且痛苦的问题: 一个开发者,如何从零开始,系统性地、不跑偏地完成一个完整项目,并且保证代码质量和架构一致性。 传统开发流程里,产品经理出PRD,前后端开会对齐,前端画页面,后端写接口,测试再介入。这个过程沟通成本高,文档容易过时,新人上手慢。而“AI重构”的思路,是试图用一套 规范化的指令(Spec) 来驱动AI(比如Codex这类模型)生成代

weixin_30596023的博客 459

UE 顶点动画工具 (VAT)

导入模型需要勾选全精度UV。

iesoxj的博客 1638

超有趣 c/c++ 程序百例,史上最全C++趣味代码

超有趣 c/c++ 程序百例,史上最全C++趣味代码

yaosichengalpha的博客 8498

华为OD机试2025C卷 - 精准核酸检测 (C++ & Python & JAVA & JS & GO)

华为OD机试2025C卷 精准核酸检测,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 1707

C/C++语言经典、实用、趣味程序设计编程百例精解(3)

位反序数 设N是一个四位数,它的9倍恰好是其反序数,求N。反序数就是将整数的数字倒过来形成的整数。例如:1234的反序数是4321。*问题分析与算法设计可设整数N的千、百、十、个位为i、j、k、l,其取值均为0~9,则满足关系式:(i*103+j*102+10*k+l)*9=(l*103+k*102+10*j+i)的i、j、k、l即构成N。*程序说明与注释#includeint m

【拥抱变化 -- 知识改变命运】 5421

AgentScope 2.0 扩展开发完全指南:从中间件到模型适配器的深度实践

本文系统讲解 AgentScope 2.0 框架的五大扩展机制,涵盖中间件系统的洋葱模型与钩子设计、ChatModelBase 基类与多供应商适配器开发、工作空间(本地/Docker/E2B)的抽象接口与生命周期管理、凭据工厂与 MCP 协议集成、以及工具协议与存储后端扩展。文中提供完整的架构图、代码示例与故障排查指南,帮助开发者快速掌握 AgentScope 的插件化扩展体系。

program哲学 291

【大模型】AI 辅助编程操作实战使用详解

AI 编程实战使用详解

congge 8459

【C++入门4】flexible_dual_grid.cpp 中的 C++ 语法速查

含义:定义结构体,可带成员函数。类似 Python 的 dataclass,但更底层。

weixin_44212848的博客 706

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Are Flexible Array Members valid in C/C++

文章目录Are Flexible Array Members valid in C/C++Flexible Array Members 是什么?有什么用注意事项 Are Flexible Array Members valid in C/C++ Flexible Array Members 是什么? 我们在浏览代码时, 会见到如下代码: struct foo { int length; ...

creambean的博客 289

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

TensorRT加速flexible-yolov5推理:从模型导出到Python/C++部署全流程

flexible-yolov5是一个高度可定制的目标检测框架,支持多种骨干网络(如ResNet、EfficientNet、Swin Transformer等)和增强模块(CBAM、DCN等)。通过TensorRT加速技术,我们可以显著提升模型推理性能,本文将详细介绍从模型导出到Python/C++部署的完整流程。 ## 一、环境准备与模型导出 ### 1.1 安装依赖 首先确保已安装Tens

gitblog_00185的博客 782

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

c c++ 函数内数组初值_C:弹性数组——flexible array

一. 定义定义数组时,没有指明其长度,此为弹性数组。二. 使用条件弹性数组只能存在于结构体中,并且必须满足如下条件:弹性数组必须为结构体的最后一个成员;该结构体必须包含一个非弹性数组的成员;编译器需要支持 C99 标准。三. 示例声明一个学生信息结构体,其中包含学号,年级,学生姓名。typedef 其中的 int8_t name[] 即为弹性数组。因为学生的姓名有长有短。如果定义为固定长度,会造成...

weixin_39941732的博客 571

The Pinocchio C++ library:A fast and flexible implementation of rigid body dynamics algorithms

本文介绍了 Pinocchio,这是一个开源软件框架,实现了刚体动力学算法及其解析导数。Pinocchio 不仅包括机器人领域常用的标准算法(例如,前向和反向动力学),还提供了对机器人控制、规划和仿真至关重要的额外功能。

1386

C++中快速计算包含灵活数组成员(Flexible Array Member)结构体的大小

灵活数组是C++中常用的一种表示动态大小的结构体,结构体的最后一个成员是一个大小为0的数组,便于在结构体末尾动态分配可变大小的数组。在这个例子中,extra_data是一个大小为0的数组,它不会实际占用内存,而是用来表示一个的数据块。这种结构体通常用于在堆上分配时,根据实际需求来决定extra_data的大小,比如在结构体后面留出一定的空间存储额外的数据。例如,我们可以使用malloc动态分配空间,并将extra_data看作一个实际长度的数组。假设我们要在extra_data中放置 10 个int。

底层软件设计内幕 554

C++: FTXUI(Flexible Terminal User Interface)响应式终端用户界面介绍和使用

纯 C++17,无外部依赖(仅需标准库)声明式 UI:通过组合组件构建界面支持键盘/鼠标事件内置布局系统(水平、垂直、网格等)支持颜色、样式、动画跨平台(Linux/macOS/Windows 终端)

weixin_42849849的博客 885

C/C++ 中的0长数组(柔性数组)

1.柔性数组或者说柔性数组,本质上就是动态开辟空间的一种方法。 2.在标准在标准C和C++中0长数组如charArray[0]是不允许使用的,因为这从语义逻辑上看,是完全没有意义的。 但是,GUN中却允许使用,而且,很多时候,应用在了变长结构体中,如: struct example { int len; char flexible[0]; //这里的0长结构体就为变长结构体提供了非常好的支持 }flexible_example; 如果编译不通过用下面这种 struct example { int le

hpx12345678的博客 708

深入浅出C语言中的柔性数组

问题引出在日常的编程中,有时候需要在结构体中存放一个长度动态的字符串,一般的做法,是在结构体中定义一个指针成员,这个指针成员指向该字符串所在的动态内存空间,例如:typedef struct { WORD usMsgID; WORD usMsgLen; char *pData;//pData指向字符串 }COMMMON_DEF_STRU针对这种普通形式的结构体,我们很容易写出

Keep Moving~ 1164

C++不允许使用不完整型别说明

https://blog.youkuaiyun.com/qq_36038987/article/details/77747507?locationNum=5&amp;fps=1 在讲述柔性数组成员之前,首先要介绍一下不完整类型(incomplete type)。不完整类型是这样一种类型,它缺乏足够的信息例如长度去描述一个完整的对象。 incomplete types (types that describ...

Likes的博客 6496

【C++入门2】3D 基础实现总结(上)-三角形和平面几何

本文梳理了3D几何计算在Dual Contouring/QEF算法中的关键实现,主要包括:1)基础线性插值工具;2)三角形几何计算(边向量、法线、平面方程);3)三角形与体素网格的相交测试方法(包围盒、投影法、扫描线填充);4)QEF相关计算(平面距离平方矩阵)。这些几何运算为网格处理提供了数学基础,支持从三角形网格生成对偶网格的完整流程。文章可作为3D几何算法实现的参考指南,特别适用于体素化、曲面重建等应用场景。

weixin_44212848的博客 708

一起来学习CAN FD(CAN with Flexible Data-Rate)

点击上方“蓝色字”可关注我们!精彩内容 首先,小猿给大家拜个晚年,祝各位猿友在新的一年里,工作顺利,技术长进,家庭和...

wgp2hpp的博客 2770

柔性数组成员(flexible array member)

本文介绍了C99标准引入的柔性数组成员特性,这是一种处理结构体中可变长度数组的高效方法。文章详细讲解了柔性数组成员的概念、使用方法(需动态分配内存)、优势(内存效率高、代码简洁)以及典型应用场景(如动态字符串、网络数据包)。通过代码示例和内存布局图示,展示了如何正确分配和使用柔性数组,并强调了注意事项(如动态分配、大小计算)。最后,通过一个动态字符串数组的进阶示例,演示了柔性数组成员的实际应用。该特性是C语言中处理动态数据结构的优选方案。

always_TT的博客 475

c int转char数组_听说有人不了解柔性数组

(给CPP开发者加星标,提升C/C++技能)来源:C语言与CPP编程-自成一派1231 引言定长数组包在平时的开发中,缓冲区数据收发时,如果采用缓冲区定长包,假定大小是 1k,MAX_LENGTH为 1024。结构体如下://定长缓冲区structmax_buffer{intlen;chardata[MAX_LENGTH];};数据结构的大小 >...

weixin_39954464的博客 1054
上一篇: Self Print in C++
下一篇: How small can a functional PE executable be?
vbvan
博客等级 码龄19年 132粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值