/ / Erstellen einer Liste mit Zahlen und ihren Quadraten in C # mithilfe einer Schleife - c #, list, for-loop, square

Erstellen einer Liste von Zahlen und deren Quadraten in C # mithilfe einer Schleife - c #, list, for-loop, square

Ich möchte eine Liste der Zahlen und ihrer Quadrate in C # mit einer for-Schleife erstellen.

Gerade habe ich:

namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{

int counter;
int square = 1;
const int maxValue = 10;


Console.WriteLine("Number  Square");
Console.WriteLine("-------------------");
{
for (counter = 1; counter <= maxValue; counter++)
square = counter ^ 2;
Console.WriteLine("{0}   {1}",  counter, square);
}

}
}

}

Aber meine Ausgabe ist nur eine 11 und eine 8.

Wenn ich "square = counter ^ 2" direkt unter dasVariable Deklarationen, am Ende habe ich eine Spalte mit den Nummern 1-10, aber die zweite Zeile besteht nur aus ein paar Dreien. Wenn sie auf 0 gesetzt sind, sind sie zwei. Es gibt mir auch einen Fehler, die Zählervariable zu deklarieren, wenn ich sie nicht auf etwas setze.

Wenn ich die Gleichung an die Position bringe, an der sie jetzt ist, fordert sie dazu auf, die quadratische Variable als etwas zu deklarieren (hier steht sie auf 1).

Außerdem bin ich ein Anfänger, von dem ich noch nichts gelernt habe. Daher würde ich es vorziehen, wenn Korrekturen nicht berücksichtigt werden.

EDIT: behoben, Mann, ich habe diesen Fehler das letzte Mal nicht gemacht, ja, ich brauche mehr Übung. Entschuldigung

Antworten:

1 für die Antwort № 1

Die Platzierung von Zahnspangen ist wichtig:

 Console.WriteLine("Number  Square");
Console.WriteLine("-------------------");

for (counter = 1; counter <= maxValue; counter++)
{
square = counter * counter;
Console.WriteLine("{0}   {1}",  counter, square);
}

Hinweis: Es ist eine gute Praxis, immer umschließende Klammern für zu verwenden for Schleifen und if Aussagen genau aus diesem Grund.

Beachten Sie auch das ^ ist nicht "hoch", sondern exklusives ODER


2 für die Antwort № 2

Sie verwenden versehentlich eine Kurzform zum Deklarieren des for-Schleifenblocks.

Der for-Anweisung sollten geschweifte Klammern folgen, um den auszuführenden Block anzugeben. Wenn Sie jedoch die geschweiften Klammern überspringen, wird einfach die "nächste Zeile" abgerufen. Nur in deinem Fall square = counter ^ 2; wird in der Schleife ausgeführt. Der ^ -Operator ist jedoch für die xor -Operation und nicht für pow.

Sie wollen das stattdessen:

Console.WriteLine("Number  Square");
Console.WriteLine("-------------------");

for (counter = 1; counter <= maxValue; counter++)
{
square = counter * counter;
Console.WriteLine("{0}   {1}",  counter, square);
}

1 für die Antwort № 3

Versuchen Sie dies für Ihre Gegenschleife:

for (counter = 1; counter <= maxValue; counter++)
{
square = Math.Pow(counter, 2);
Console.WriteLine("{0}   {1}",  counter, square);
}

0 für die Antwort № 4

Der ^ Operator ist nicht für diesen Zweck. Verwenden Sie stattdessen System.Math.Pow (). Beispiel: var square = Math.Pow(3, 2). Dies ergibt 9.


0 für die Antwort № 5

Ihre for-Schleife befindet sich im Short-Hand-Modus. Ihre console.writeline liegt außerhalb der for-Schleife.

Versuchen Sie, die Zeilen durch diese zu ersetzen

for (counter = 1; counter <= maxValue; counter++)
{
square = counter * counter;
Console.WriteLine("{0}   {1}",  counter, square);
}

Beachten Sie, dass ^ in C # kein Netzoperator ist. Es wird für XOR verwendet.


0 für die Antwort № 6

square = counter ^ 2 ?? Hier ^ ist ein oder Bedienung

mach das:
square = counter * counter;

und umschließen

{
square = counter * counter;
Console.WriteLine("{0}   {1}",  counter, square);
}

Innerhalb for - Schleife

oder besser nutzen Math.pow Methode


0 für die Antwort № 7

Ich würde ... benutzen:

    private void sqtBtn_Click(object sender, EventArgs e)
{
outputList.Items.Clear();

int itemValue, sqt;

for (int i = 0; i < randomNumAmount; i++)
{
int.TryParse(randomList.Items[i].ToString(), out itemValue);

outputList.Items.Add(Math.Sqrt(itemValue).ToString("f"));
}
}