一个非常简单的逻辑问题 小白求教

system14 2013-02-16 10:33:04
我有这样一个需求
让一个变量 0 1 3 2 0 1 3 2 这样循环下去
请大侠们告诉我怎样做最省事儿啊。。

我想让我的LED灯跑马
我用a++ a%4 的方法实现了 0 1 2 3
问题是尼玛我LED灯编号是 0 1 3 2 我该咋办、、、、
...全文
242 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
system14 2013-02-16
  • 打赏
  • 举报
回复
引用 8 楼 rocktyt2 的回复:
int arr[4] = {0,1,3,2}; a++; arr[a%4] 这样不就行了,还很容易理解
跪拜、、、、
rocktyt 2013-02-16
  • 打赏
  • 举报
回复
int arr[4] = {0,1,3,2}; a++; arr[a%4] 这样不就行了,还很容易理解
system14 2013-02-16
  • 打赏
  • 举报
回复
引用 1 楼 a63140180 的回复:
C/C++ code?123456a++;a=a%4;k= //a=0 k=0 a*(a-2)*(a-3)/2 //a=1 k=1 +a*(a-1)*(a-3)/(-2)*3 //a=2 k=3 +a*(a-1)*(a-2)/6*2; //a=3 k=2 效率可能很低,不过这是当年高中……
你狠...
TimXhHuang 2013-02-16
  • 打赏
  • 举报
回复
引用 4 楼 system14 的回复:
引用 2 楼 TimXhHuang 的回复:a一直++会过界吧 if(a ==0) a = 1; else if(a == 1) a = 3; else if(a == 3) a = 2; else a =0; 引用 2 楼 TimXhHuang 的回复:a一直++会过界吧 if(a ==0) a = 1; els……
整个if-else执行之后a的值就确定了再设置led不可以吗
system14 2013-02-16
  • 打赏
  • 举报
回复
引用 3 楼 yanguoliang 的回复:
我觉得,最直接,最省力的方式,你丫的直接把你的灯的顺序调过来不就得了。
那个是嵌在板子上的....
system14 2013-02-16
  • 打赏
  • 举报
回复
引用 2 楼 TimXhHuang 的回复:
a一直++会过界吧 if(a ==0) a = 1; else if(a == 1) a = 3; else if(a == 3) a = 2; else a =0;
引用 2 楼 TimXhHuang 的回复:
a一直++会过界吧 if(a ==0) a = 1; else if(a == 1) a = 3; else if(a == 3) a = 2; else a =0;
如果这么写..我LED灯闪烁的代码岂不是每一个if下面写一次啊。。
mich_mia 2013-02-16
  • 打赏
  • 举报
回复
我觉得,最直接,最省力的方式,你丫的直接把你的灯的顺序调过来不就得了。
TimXhHuang 2013-02-16
  • 打赏
  • 举报
回复
a一直++会过界吧 if(a ==0) a = 1; else if(a == 1) a = 3; else if(a == 3) a = 2; else a =0;
JinCraft 2013-02-16
  • 打赏
  • 举报
回复

a++;
a=a%4;
k=                      //a=0  k=0   
  a*(a-2)*(a-3)/2       //a=1  k=1
 +a*(a-1)*(a-3)/(-2)*3  //a=2  k=3
 +a*(a-1)*(a-2)/6*2;    //a=3  k=2
效率可能很低,不过这是当年高中数学老师讲数列的时候教的一种方法

64,676

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧