打印模式序列

C++C++Beginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,我们将创建一个 C++ 程序来打印给定的模式或序列,例如 12345, 5432, 234, 43, 3。这是初学者在编程中常见的练习,因为它需要使用循环和基本的算术操作。

创建一个新的 C++ 文件

在终端中使用以下命令创建一个新的 C++ 文件:

touch ~/project/main.cpp

用你喜欢的文本编辑器打开该文件,然后我们开始吧。

添加必要的头文件

我们将需要 iostreamstdio.hmath.h 库来编写程序。添加以下代码以包含它们:

#include<iostream>
#include<stdio.h>
#include<math.h>

定义变量

我们需要定义整型变量 ijpnreverse

int i,j,p=1,n,reverse;

从用户获取输入

提示用户输入要打印的项数,并将其存储在变量 n 中,代码如下:

cout<<"Enter The Number To Print A Pattern\n";
cin>>n;

计算数字的位数

我们需要计算输入值的位数,以确定循环的迭代次数。可以使用 math.h 库中的 log10 函数来获取该值。

int dig=log10(n);

打印完整的输入值

使用以下代码在输出的第一行打印完整的输入值:

cout<<"\n"<<n<<endl;

反转并打印序列

我们使用一个 for 循环来反转数字并打印序列。在每次迭代中,使用一个 while 循环来改变输入值的数字顺序以实现反转:

for(i=1;i<=dig;i++)
{
    while (n != 0)
    {
        reverse = reverse * 10;
        reverse = reverse + n%10;
        n       = n/10;
    }
    n=reverse/10;
    cout<<n<<endl;
    reverse=0;
}

编译并运行程序

保存文件并在终端中使用以下命令编译并运行程序:

g++ ~/project/main.cpp -o main && ./main

验证程序输出

输入值为 12345 时,程序的输出应为:

12345
5432
234
43
3

总结

在本实验中,我们创建了一个 C++ 程序来打印类似 12345、5432、234、43、3 的模式序列。我们使用了 while 循环和 log10 函数来计算输入值的位数,并使用 for 循环以指定格式反转并打印序列。