2011-11-28 51 views
-1

用戶必須提供起始點並指示順序應該是升序還是降序。到目前爲止,它開始計數並永不停止。如何在增加10後停止它?我會使用if語句讓用戶選擇使其升序還是降序?將十個數字序列輸出到控制檯

class Program 
{ 
    static void Main(string[] args) 
    { 
     int val; 

     Console.WriteLine("Please enter a number!"); 

     val = Int32.Parse(Console.ReadLine()); 

     for (int i = val; i <= (val + 10); val++) 
      Console.WriteLine(val); 

     Console.ReadLine(); 
    } 
} 
+0

-1不使用調試器...... – Fischermaen

+1

@Fichermaen我只一直在做C#進行現在一個月,所以我是小白,不要真的知道如何調試到目前爲止還是單步執行代碼,但是針對提示的thanx將會在下一次執行 – Nirre

回答

7

它永遠不會停止,因爲你增加val,和i將永遠是小於val + 10(你永遠不會增加i)。您應該增加i,並在循環內使用i

static void Main(string[] args) 
{   
    int val;    

    Console.WriteLine("Please enter a number!"); 

    val = Int32.Parse(Console.ReadLine());         

    for (int i = val; i <= (val + 10); i++) 
     Console.WriteLine(i);    

    Console.ReadLine();   

} 

對於上升與下降的一部分,還需要從用戶的第二輸入,如果他選擇降,使一個循環,如果i >= (val - 10),檢查,並進入i--每次迭代來代替。

+0

Thanx分配和是啊它應該被標記爲家庭作業lol通過一本書朋友給我的書,但它沒有解決方案工作。 – Nirre

0

更改爲:

static void Main(string[] args) 
{   
    int val;    

    Console.WriteLine("Please enter a number!"); 

    val = Int32.Parse(Console.ReadLine());         

    for (int i = val; i <= (val + 10); i++) 
     Console.WriteLine(i);    

    Console.ReadLine();   
} 
+0

仍然錯誤。這將在循環內輸出相同的數字10次。 –

+0

我編輯它,diplaying我,而不是val。 – Oleg

0
static void Main(string[] args) 
{   
int val, isDecrement;    
Console.WriteLine("Please enter a number!"); 
val = Int32.Parse(Console.ReadLine());  

Console.WriteLine("Please enter 1 to go Descending order!"); 
isDecrement = Int32.Parse(Console.ReadLine()); 

if(isDecrement ==1) 
{ 
    for (int i = val; i >= (val - 10); i--) 
    Console.WriteLine(i);    
} 
else 
{ 
for (int i = val; i <= (val + 10); i++) 
    Console.WriteLine(i);    
} 
Console.ReadLine();   

} 
1
using System; 
using System.Linq; 

class Sample { 
    static void Main(){ 
     const char down = '-'; 

     Console.Write("Please enter a number! n[{0}]:", down); 
     string input = Console.ReadLine(); 

     char ch = input.Last(); 
     int diff = (ch == down) ? -1 : 1; 
     int val = Int32.Parse(input.TrimEnd(down)); 

     for(var i = 1; i <= 10; i++, val += diff) 
      Console.WriteLine(val); 
    } 
} 

DEMO

Please enter a number! n[-]:10- 
10 
9 
8 
7 
6 
5 
4 
3 
2 
1 

Please enter a number! n[-]:5 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14