C++ 我正在尝试用c++;,代码没有';我不能正常工作

C++ 我正在尝试用c++;,代码没有';我不能正常工作,c++,loops,for-loop,C++,Loops,For Loop,我正在打印下表。我只想要5排(根据作业问题) 当我使用下面的代码时,在第一行中总是有一个额外的条目(25后面有30个条目,不应该是) #包括 #包括 使用名称空间std; int main() { 浮点数i,j,num=0,k=5; 对于(j=0;i#包括 使用名称空间std; int main() { 对于(size_t i=0;i如果您希望它(如您所要求的)在一个循环中: #include <iostream> #define SIZE 5 int main(){ in

我正在打印下表。我只想要5排(根据作业问题)

当我使用下面的代码时,在第一行中总是有一个额外的条目(25后面有30个条目,不应该是)

#包括
#包括
使用名称空间std;
int main()
{
浮点数i,j,num=0,k=5;
对于(j=0;i
#包括
使用名称空间std;
int main()
{
对于(size_t i=0;i如果您希望它(如您所要求的)在一个循环中:

#include <iostream>

#define SIZE 5
int main(){
    int start = 5;
    int increment = 5;
    for (int i = 0; i < SIZE*SIZE; i++){
        std::cout << start << " ";
        start += 5;
        if (start == increment + SIZE * 5){
            increment += 5;
            start = increment;
            std::cout << '\n';
        }

    }

    system("pause");
    return 0;
}
#包括
#定义尺寸5
int main(){
int start=5;
int增量=5;
对于(int i=0;i
#include <iostream>
#include <iomanip>

int main() 
{
    const int N = 5;

    for ( int i = 0; i < N; i++ )
    {
        for ( int j = 0; j < N; j++ ) std::cout << std::setw( 2 ) << N * ( i + 1 + j ) << ' ';
        std::cout << std::endl;
    }

    return 0;
}
对于您的代码,则变量
i
未初始化。此外,即使
j
等于5,您也在同一行中打印
num
的当前值,因为if语句紧跟在输出语句之后

cout<<num<<" ";
if(j==5)
此外,您还可以将上述两种方法结合起来。下面是一个演示程序,它与您的程序一样只使用一个循环

#include <iostream>
#include <iomanip>

int main() 
{
    const int N = 5;
    const int Value = 10;

    for ( int i = 0; i < N * N; i++ )
    {
        std::cout << std::setw( 2 ) << Value * ( i / N + 1 + i % N );
        ( i + 1 ) % N == 0 ? std::cout << std::endl : std::cout << ' ';
    }

    return 0;
}

您可以为常量
N
Value

设置您自己的值,因为您使用
i
而不进行初始化,因此您的行为未定义。您使用它的目的是什么?至于您的问题,预期的输出是什么?实际的输出是什么?@JoachimPileborg它处于for循环条件
iI被定义为float.这是一个家庭作业问题..仍然没关系,因为您使用它时没有初始化。我们有一个比这个更简单的版本..但我们之间的挑战是,朋友们不使用嵌套循环..您忘记了返回0;;)“StddAn根据C++标准,不需要返回语句,但它是很好的实践,因为您的主要功能不是空洞类型,它是一个整数类型,并且有一些情况,您的程序返回到系统是很重要的。”@StackDanny这是一个只适合初学者的好做法。有经验的程序员不会花时间键入return0;:)#include#include使用名称空间std;int main(){int i,j,num=5,k=5;for(j=1,i=0;i@AzimJaved请参阅我更新的帖子,其中我展示了如何实现您的方法。
#include <iostream>
#include <iomanip>

int main() 
{
    const int N = 5;

    for ( int i = 0; i < N; i++ )
    {
        for ( int j = 0; j < N; j++ ) std::cout << std::setw( 2 ) << N * ( i + 1 + j ) << ' ';
        std::cout << std::endl;
    }

    return 0;
}
 5 10 15 20 25 
10 15 20 25 30 
15 20 25 30 35 
20 25 30 35 40 
25 30 35 40 45 
cout<<num<<" ";
if(j==5)
#include <iostream>
#include <iomanip>

int main() 
{
    const int N = 5;

    for ( int i = 0, j = 0, num = 0, k = 0; i < N * N; i++ )
    {
        if ( j == N )
        {
            std::cout << std::endl;
            j = 0;
            k += N;
            num = k;
        }

        num += N;
        std::cout << std::setw( 2 ) << num << ' ';
        j++;
    }

    return 0;
}
 6 12 18 24 30 36 
12 18 24 30 36 42 
18 24 30 36 42 48 
24 30 36 42 48 54 
30 36 42 48 54 60 
36 42 48 54 60 66 
#include <iostream>
#include <iomanip>

int main() 
{
    const int N = 5;
    const int Value = 10;

    for ( int i = 0; i < N * N; i++ )
    {
        std::cout << std::setw( 2 ) << Value * ( i / N + 1 + i % N );
        ( i + 1 ) % N == 0 ? std::cout << std::endl : std::cout << ' ';
    }

    return 0;
}
10 20 30 40 50
20 30 40 50 60
30 40 50 60 70
40 50 60 70 80
50 60 70 80 90