c++如何判断一个数的第一位数

题目是求在A到B之间且首位数为C的数有几个
这是我写的,vs运行不了,求指点

img

你内循环中把i的值改变了,会影响第一层for的执行。如下图所示。

img

代码已修改,如有帮助,请帮忙采纳一下,谢谢。

#include <iostream>
using namespace std;

int main()
{
    int n;
    cin >> n;
    while(n--)
    {
        int a,b,c,d=0;
        cin >> a>>b>>c;
        for (int i = a+1;i<b;i++)
        {
            int t = i;
            while(t >=10)
                t/=10;
            if(t == c)
                d++;
        }
        cout << d << endl;
    }
    return 0;
}


d=1改成 d=d+1