Guest User

Untitled

a guest
Jan 24th, 2020
71
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2.  
  3. long
  4. sil(int n) {
  5.     long sil = 1;
  6.     int i;
  7.     for (i = 1; i <= n; i++)
  8.         sil *= i;
  9.     return sil;
  10. }
  11. long
  12. fib(int f) {
  13.     if (f < 3)
  14.         return 1;
  15.  
  16.     return fib(f - 2) + fib(f - 1);
  17. }
  18.  
  19. long
  20. suma(int s, int p) {
  21.     long wynik;
  22.     int j;
  23.     for (j = s; j > 0; j--, p++)
  24.         wynik = p;
  25.     return wynik;
  26.  
  27. }
  28.  
  29. int main() {
  30.     int n, f, s, p, wybor;
  31.     long long wynik;
  32.     char znak;
  33.  
  34.     while (1)
  35.     {
  36.         puts("Funkcje");
  37.         puts("MENU");
  38.         puts("1. Silnia");
  39.         puts("2. Fibonacci");
  40.         puts("3. Suma n-kolejnych liczb");
  41.         puts("4. Zamknij program");
  42.  
  43.         scanf_s("%d", &wybor);
  44.         switch (wybor)
  45.         {
  46.         case 1:
  47.             puts("\nPodaj liczbe");
  48.             while (!scanf_s("%d", &n))
  49.                 scanf_s("%*[^\n]");
  50.             printf("%d!=%ld\n\n", n, sil(n));
  51.             break;
  52.  
  53.         case 2:
  54.             puts("\nPodaj liczbe");
  55.             while (!scanf_s("%d", &f))
  56.                 scanf_s("%*[^\n]");
  57.             printf("%d wyraz ciagu to %ld\n\n", f, fib(f));
  58.             break;
  59.  
  60.         case 3:
  61.             puts("Ile liczb chcesz zsumowac?\n");
  62.             scanf_s("%d", &s);
  63.             puts("Podaj pierwsza liczbe\n");
  64.             scanf_s("%d", &p);
  65.             wynik = suma(s, p);
  66.             printf("Suma %d liczb poczawszy od %d to %ld",s,p,wynik);
  67.             break;
  68.         }
  69.         puts("\nCzy chcesz kontynuowac?\n");
  70.         puts("t=tak\n");
  71.         puts("n=nie\n");
  72.         scanf_s(" %c", &znak);
  73.  
  74.         if (znak == 'n' || znak == 'N')
  75.             break;
  76.     }
  77.  
  78.     return 0;
  79. }
RAW Paste Data