C++、初学者 2023-11-13 21:13 采纳率: 81%
浏览 3
已结题

C++一个待解决的问题

img


怎么用C++代码解决,最好简单一点,太繁琐的话看不懂,希望各位帮个忙

  • 写回答

3条回答 默认 最新

  • 关注

    定义个数组逐个遍历,如果到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;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月21日
  • 已采纳回答 11月13日
  • 创建了问题 11月13日

悬赏问题

  • ¥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