C++ 使用数组[10]并使用模10通过While循环将其递增以将用户输入配对在一起 #包括 使用名称空间std; int main() { 长整数; 整数位数; 数量; int计数器[10]={0,0,0,0,0,0,0,0,0}; while(数字!=0){ 数字=数字%10; 计数器[位数]=计数器[位数]+1; 数字=数字/10; } 对于(int i=0;i#包括 使用名称空间std; int main() { 长整数; 整数位数; 数量; int计数器[10]={0},a=0; while(数字!=0){ 数字=数字%10; 计数器[a]=位数;//对此行进行了更改 数字=数字/10; ++a; } 对于(int i=0;i

C++ 使用数组[10]并使用模10通过While循环将其递增以将用户输入配对在一起 #包括 使用名称空间std; int main() { 长整数; 整数位数; 数量; int计数器[10]={0,0,0,0,0,0,0,0,0}; while(数字!=0){ 数字=数字%10; 计数器[位数]=计数器[位数]+1; 数字=数字/10; } 对于(int i=0;i#包括 使用名称空间std; int main() { 长整数; 整数位数; 数量; int计数器[10]={0},a=0; while(数字!=0){ 数字=数字%10; 计数器[a]=位数;//对此行进行了更改 数字=数字/10; ++a; } 对于(int i=0;i,c++,c++11,visual-c++,C++,C++11,Visual C++,您现在所做的就是打印数字中每个数字0-9的位数。如果您想将元素配对在一起,则可以使用std::vector和迭代器。输入中的位数可以是偶数也可以是奇数,您必须考虑这两种情况 #include <iostream> using namespace std; int main() { long int number; int digits; cout << "Enter Number: "; cin >> number;

您现在所做的就是打印数字中每个数字0-9的位数。如果您想将元素配对在一起,则可以使用
std::vector
和迭代器。输入中的位数可以是偶数也可以是奇数,您必须考虑这两种情况

#include <iostream>
using namespace std;

int main()
{
    long int number;
    int digits;
    cout << "Enter Number: ";
    cin >> number;
    int counter[10]={0},a=0;
    while (number != 0) {
        digits = number % 10;
        counter[a] = digits;     //made changes to this line
        number = number / 10;
        ++a;
    }
    for (int i = 0; i<10; i++) {
        if (counter[i] != 0) {
            cout << i << ": " << counter[i] << endl;
        }
    }
    return 0;

}

如果您想要前10个号码,请仅使用此代码


包括使用名称空间std;int main(){long int number;cout>number;for(int i=1;i问题是什么?请回答并阅读。欢迎这样做。也许你需要?
int counter[10]={0,0,0,0,0,0,0,0,0,0};
可以缩短为
int counter[10]={0};
。另外,将
系统(“暂停”)
返回0后使它变得毫无意义。我认为如果你使用调试器来逐步检查代码,问题对你来说将非常明显。你甚至不需要调试器。你只需
查看
数字
计数器[数字]
每次迭代的内容。这使问题对我来说很明显。
#include <iostream>
using namespace std;

int main()
{
    long int number;
    int digits;
    cout << "Enter Number: ";
    cin >> number;
    int counter[10]={0},a=0;
    while (number != 0) {
        digits = number % 10;
        counter[a] = digits;     //made changes to this line
        number = number / 10;
        ++a;
    }
    for (int i = 0; i<10; i++) {
        if (counter[i] != 0) {
            cout << i << ": " << counter[i] << endl;
        }
    }
    return 0;

}
#include <iostream>
#include <vector>
using namespace std;

int main()
{
    long int number;
    cout << "Enter Number: ";
    cin >> number;
    vector<int> digits;

    if (number == 0)
    {
        digits.push_back(number);
    }
    while (number != 0)
    {
        digits.push_back(number % 10);
        number /= 10;
    }

    auto it_begin = digits.begin();
    auto it_end = digits.end() - 1;

    if (digits.size() % 2 == 1)
    {
        for (; it_end != it_begin; ++it_begin, --it_end)
        {
            cout << *it_end << ": " << *it_begin << endl;
        }

        cout << *it_end << endl;
    }
    else
    {
        for (; it_begin < it_end; ++it_begin, --it_end)
        {
            cout << *it_end << ": " << *it_begin << endl;
        }
    }
}
1: 9
2: 8
3: 7
4: 6
5: 5