2016-03-08 46 views
-2

我是編程新手,希望瞭解循環有人可以幫助我使用我的代碼我想根據用戶輸入的內容顯示一個等於2和20之間的數字的星號。
這裏是我的代碼,我不知道如何與這個請大家幫忙着手:循環的基本C++

#include "stdio.h" 
#include "iostream" 

main() 
{ 
    int num1, x; 

    printf("Enter a number between 2 and 20: "); 
    scan ("%d", &num1); 
    getchar(); 
    while (num1 > 1) 
    { 
    for (i=1; i<=num1;i++) 
    { 
     printf ("*"); 
    } 
+0

只要擺脫'while(num> 1)'語句。 – fuzzything44

+8

你從哪裏學習?請不要親自接受,但幾乎每一行都有錯誤或不正確的做法。我們確實有[推薦的圖書列表](http://stackoverflow.com/q/388242/1171191)。 – BoBTFish

回答

0
#include <iostream> 
using namespace std; 
int main() 
{ 
    int num; 



    cout << "Enter a number between 2 and 20: "; 
    cin >> num; 

    if(num > 1 && num < 21) 
    { 
     for(int i = 0; i < num; i++) 
     { 
      cout << "*" << i << endl; 
     } 
    } 

    return 0; 
} 

我不知道我理解你的問題,所以讓我問你這一點。假設用戶輸入數字12,那麼你是否應該輸出12個星號?

或者你應該在每個數字前顯示一個星號,並使星號的數量與所述數字相對應?

或者你是否在每個數字前打印一個星號,就像我在這裏完成的一樣?

繼續前進,基本for循環聲明瞭一個計數器變量,將該計數器作爲對照條件進行檢查。你會在我的例子中看到i = 0,並且只要我的< num就執行for循環。 i ++遞增計數器。

+0

評論答案時,您應該瞭解如何編寫基本的C++。此代碼格式正確,旨在生成特定的輸出,您不必喜歡它,但它沒有錯。 @ BoBTFish在你的代碼中使用名字空間是不錯的做法,因爲你可以包含多個名字空間,當程序員認識到某些事情會與另一個名字空間發生衝突時,你會意識到這一點,而且在這樣的簡單代碼中,你的註釋僅用於表明你正在糟糕的一天,並想嘗試在互聯網上造成麻煩。 – Afflicted

+0

@BobTFish我沒有公開這個問題,我提供了一個潛在的答案,通過顯示Op並描述了for循環的基本用法,這個人是新的,他/她沒有理由不考慮不使用名稱空間。你的觀點沒有實際意義,你的評論被誤導了。 – Afflicted

0

讓我們保持簡潔。 我們有2件事情需要做 -

  • 讓用戶輸入一個數(假設,N)
  • 打印 「*」(不帶引號)n次。

    #include<iostream.h> 
    /* 
    
    if compiler is not turboC or is gc++ or any other use #include<iostream> instead 
    also add using namespace std; (just before main and not inside any variable) 
    
    */ 
    
    int main() 
    { 
    
    int n,i; //n is what user will enter & i is for-loop variable 
    
        for(i=1;i<=n;i++) 
        { 
        cout<<"*"; 
    
        /*this line will print the asterick the same no. of times the loop will run 
        which is from 1 to n , that is n times */ 
    
        } 
    
    return 0; 
    
    } 
    

希望,它會清除您的疑惑! 不斷提問!保持好奇心! :D

+0

這是'',而不是''。 – GManNickG

+0

請閱讀程序內的評論....這將清除你的疑問! –

0

我認爲您接受來自用戶的整數輸入並打印多個星號。

這裏是一個非常基本的解決方案:

int main() 
{ 
    int numAsterisk, i; //one stores the number of asterisks, other one used in the loop 
    scanf(" %d", &numAsterisk); 
    for(i = 1; i <= numAsterisk; i++) 
    { 

     printf("* "); 
    } 

    return 0; 
} 

您可以使用,而不是一個「而」循環的「對」,如果你願意的話,但只記得更新計數器變量,以避免不幸的無限循環。

快樂編碼!