怎么用C++代码解决,最好简单一点,太繁琐的话看不懂,希望各位帮个忙
3条回答 默认 最新
- 技术专家团-小桥流水 2023-11-13 21:19关注
定义个数组逐个遍历,如果到9以后再从9往回遍历。累加次数
代码如下:#include <stdio.h> int main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; //用10代表0,便于下面while循环比较 char s[5]={0}; int i,nmb = 0,t; int currentIndex = 0; //指针当前位置 scanf("%s",s); //读取密码 for(i=0;i<4;i++) //遍历每个数字 { t = s[i]-'0'; //数字字符转成int if(t == 0) t = 10; while(a[currentIndex]!= t) { if(a[currentIndex] > t) //指针当前位置大于t,往前移动 { currentIndex--; nmb++; }else //指针当前位置小于t,往后移动 { currentIndex++; nmb++; } } //相等后按下1 nmb++; //按下1 } printf("%d",nmb); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 CCF-CSP 2023 第三题 解压缩(50%)
- ¥100 网页游戏在本地页面修改游戏结果
- ¥30 comfyui openpose报错
- ¥20 Wpf Datarid单元格闪烁效果的实现
- ¥15 图像分割、图像边缘提取
- ¥15 sqlserver执行存储过程报错
- ¥100 nuxt、uniapp、ruoyi-vue 相关发布问题
- ¥15 浮窗和全屏应用同时存在,全屏应用输入法无法弹出
- ¥100 matlab2009 32位一直初始化
- ¥15 Expected type 'str | PathLike[str]…… bytes' instead