2014-11-06 175 views
1

如何使用while循环而不是for循环写入相同的代码?将简单的for循环转换为while循环?

int n; 
cin >> n; 

for (int i = 1; i <= n; i++) { 
     for (int j = n; j >= i; j--) { 
      cout << j; 
     } 
     cout << endl; 
    } 

这是我的尝试,但它没有达到同样的效果。我不知道为什么。

int n; 
cin >> n; 
int i = 1; 
int j = n; 

    while (i <= n) { 
     while (j >= i) { 
      cout << j; 
      j--; 
     } 
     i++; 
     cout << endl; 
    } 
+0

'int j = n;'必须在循环之间 – sp2danny 2014-11-06 07:34:25

回答

1

您必须在while(j >= i)循环前重置j

while (i <= n) { 
    j = n; //<<<<<<<< Reset j to the starting value 
    while (j >= i) { 
     cout << j; 
     j--; 
    } 
    i++; 
    cout << endl; 
} 
+1

我觉得很愚蠢。谢谢。 – Learner 2014-11-06 07:37:40