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

Suggested prompts:

Can you show me the blueprint of the program that needs to be completed?

What should the method return if the input is negative?

Can you provide an example input and expected output?

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