| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 673 人关注过本帖
标题:萌新求思路
取消只看楼主 加入收藏
liu281469315
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-11-3
结帖率:0
收藏
已结贴  问题点数:10 回复次数:1 
萌新求思路
现在需要实现判断转轮的方向,正转或反转,通过三个IO口进行识别 1 2 3
正转 三个IO口 分别得到 123 231 312都为正转,321 132 213 为反转。
现在我的思路是 给三个IO口分别 赋值为
int i,sig;
const int abc[6][3]={{1,2,3},{2,3,1},{3,1,2},{3,2,1},{1,3,2},{2,1,3}};
if(Pa5 == 0)sig = 1;
if(pa6 == 0)sig = 2;
if(pa7 == 0)sig = 3;
if(pa7==0||pa6==0||pa5==0){
  for(i = 0;i < 4;i++){
    if(abc[0][i] != sig)return 0;
    }
    return 1;
.......
}

请各位大大看看有没有更好的思路还是算法,小弟拜谢
搜索更多相关主题的帖子: return 
2016-11-03 20:31
liu281469315
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-11-3
收藏
得分:0 
回复 2楼 ehszt
int i,IO;//IO就是三个IO口依次的数字
    int a[3]={123,231,312};//只判断正转就可以了
    scanf("%d",&IO);
    for(i=0;i<3;i++)
    {
       if(a[i]==IO)
        break;
    }
    if(i==3)
    printf("反转\n");
    else
    printf("正转\n");
  }
//////////////////////////////////////////////////////////
第六行应该为  if(a[i]!=IO)break;    ???
2016-11-04 08:27
快速回复:萌新求思路
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022018 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved