我想這兩個循環結合一個:如何將這兩個循環合併爲一個?
for (int i = 7; i <=100; i+=10)
{
Console.WriteLine(i);
}
for (int i = 0; i < 100; i+=7)
{
Console.WriteLine(i);
}
我想這兩個循環結合一個:如何將這兩個循環合併爲一個?
for (int i = 7; i <=100; i+=10)
{
Console.WriteLine(i);
}
for (int i = 0; i < 100; i+=7)
{
Console.WriteLine(i);
}
我想這是你想要做什麼
for (int i = 0; i<= 100; i++)
{
if (i%7==0 || i%10==7)
Console.WriteLine(i);
}
和你的問題給出了確切的結果? –
不,它不。它結合了兩個循環的結果。就像他問。 – asibahi
for (int i = 0; i <=100; i++) {
if(i%7 == 0 || i%10 == 0)
Console.WriteLine (i);
}
或使用LINQ:
Enumerable.Range(0,100).Where(i => i%7 == 0 || i%10 == 0).ToList()
.ForEach(i=> {Console.WriteLine (i); });
如果你想重複的結果太:
for (int i = 0; i <=100; i++) {
if(i%7 == 0) Console.WriteLine (i);
if(i%10 == 0 && i!=0) Console.WriteLine (i);
}
Enumerable.Range(7,100)
.Where(i => i%10 == 0).ToList().AddRange(
Enumerable.Range(0,100)
.Where(i => i%7 == 0).ToList())
.ForEach(i=> {Console.WriteLine (i); });
第二個循環內的i = 0怎麼樣呢不會顯示 –
那麼我編輯了我的答案 –
這與問題的結果不一樣。第一個循環打印7,17,27等,第二個循環打印0,7,14等,你的循環不會這樣做。 – asibahi
這聽起來很愚蠢但它確實是你想要的。
bool flag = false;
int factor = 10;
for (int i = 7; i < 100;)
{
Console.WriteLine(i);
i += factor;
if (i >= 100)
{
if (flag)
break;
flag = true;
factor = 7;
i = 0;
}
}
它使用一個布爾標誌和一個動態的因素做兩個在一個循環中通過:因爲它保留了印刷就像你的榜樣值的順序看起來不整潔。
我不知道你真正想要做的,但如果是我,我想打印數量,我會用數學公式
var i = 0;
while(true)
{
var x = 7 + (i * 10);
if(x < 100)
Console.WriteLine(x);
var y = i * 7;
Console.WriteLine(y);
if(y >= 100)
break;
i++;
}
你想做什麼? – user3185569