Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utmaning: Metod med Parametrar | Metoder
C#-Grunder

bookUtmaning: Metod med Parametrar

I denna utmaning ska du skapa en ny metod kallad factorial som har en parameter kallad n av typen int. Den ska beräkna fakulteten av det överförda värdet n och skriva ut resultatet.

Programstrukturen är given, fyll i de saknade detaljerna för att slutföra programmet:

main.cs

main.cs

copy
1234567891011121314151617181920212223242526272829303132333435
using System; namespace ConsoleApp { internal class Program { static void factorial(___) { if(n == 0) { Console.WriteLine(___); } else if (n > 0) { int result = 1; for (int i = 2; i <= ___; i++) { ___ } Console.WriteLine(___); } else { Console.WriteLine(___); } } static void Main(string[] args) { factorial(-1); factorial(0); factorial(5); } } }
  1. Vi har gjort en övning relaterad till fakultet i en av de tidigare sektionerna men för att repetera: fakulteten av ett tal är produkten av alla tal upp till det talet. Till exempel är fakulteten av 5 1 x 2 x 3 x 4 x 5 vilket är 120, på samma sätt är fakulteten av 4 24. Det finns två ytterligare regler:
    • Fakulteten av 0 är 1;
    • Fakulteten av ett negativt tal är undefined, så det ska skriva ut undefined.
  2. För att lösa uppgiften, följ dessa steg:
    • Fyll i det tomma för metoden factorial med lämplig parameterdefinition. Den förväntar sig ett heltal. Ta reda på vad parametern ska heta genom att läsa metodens inre kod;
    • Om det överförda argumentet är 0, ska det visa ett fast utdata som nämns i tipsen;
    • Loopen ska fortsätta upp till (och inklusive talet) det överförda heltalet. Variabeln result ska uppdateras med produkten av sig själv och loopvariabeln. Kort sagt: result *= i;
    • Om inmatningstalet är negativt (ogiltigt), ska det skriva ut "undefined".
main.cs

main.cs

copy
1234567891011121314151617181920212223242526272829303132333435
using System; namespace ConsoleApp { internal class Program { static void factorial(int n) { if(n == 0) { Console.WriteLine(1); } else if (n > 0) { int result = 1; for (int i = 2; i <= n; i++) { result *= i; } Console.WriteLine(result); } else { Console.WriteLine("undefined"); } } static void Main(string[] args) { factorial(-1); factorial(0); factorial(5); } } }

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 6. Kapitel 5

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Awesome!

Completion rate improved to 1.59

bookUtmaning: Metod med Parametrar

Svep för att visa menyn

I denna utmaning ska du skapa en ny metod kallad factorial som har en parameter kallad n av typen int. Den ska beräkna fakulteten av det överförda värdet n och skriva ut resultatet.

Programstrukturen är given, fyll i de saknade detaljerna för att slutföra programmet:

main.cs

main.cs

copy
1234567891011121314151617181920212223242526272829303132333435
using System; namespace ConsoleApp { internal class Program { static void factorial(___) { if(n == 0) { Console.WriteLine(___); } else if (n > 0) { int result = 1; for (int i = 2; i <= ___; i++) { ___ } Console.WriteLine(___); } else { Console.WriteLine(___); } } static void Main(string[] args) { factorial(-1); factorial(0); factorial(5); } } }
  1. Vi har gjort en övning relaterad till fakultet i en av de tidigare sektionerna men för att repetera: fakulteten av ett tal är produkten av alla tal upp till det talet. Till exempel är fakulteten av 5 1 x 2 x 3 x 4 x 5 vilket är 120, på samma sätt är fakulteten av 4 24. Det finns två ytterligare regler:
    • Fakulteten av 0 är 1;
    • Fakulteten av ett negativt tal är undefined, så det ska skriva ut undefined.
  2. För att lösa uppgiften, följ dessa steg:
    • Fyll i det tomma för metoden factorial med lämplig parameterdefinition. Den förväntar sig ett heltal. Ta reda på vad parametern ska heta genom att läsa metodens inre kod;
    • Om det överförda argumentet är 0, ska det visa ett fast utdata som nämns i tipsen;
    • Loopen ska fortsätta upp till (och inklusive talet) det överförda heltalet. Variabeln result ska uppdateras med produkten av sig själv och loopvariabeln. Kort sagt: result *= i;
    • Om inmatningstalet är negativt (ogiltigt), ska det skriva ut "undefined".
main.cs

main.cs

copy
1234567891011121314151617181920212223242526272829303132333435
using System; namespace ConsoleApp { internal class Program { static void factorial(int n) { if(n == 0) { Console.WriteLine(1); } else if (n > 0) { int result = 1; for (int i = 2; i <= n; i++) { result *= i; } Console.WriteLine(result); } else { Console.WriteLine("undefined"); } } static void Main(string[] args) { factorial(-1); factorial(0); factorial(5); } } }

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 6. Kapitel 5
some-alt