Advertisement
Guest User

Untitled

a guest
Mar 30th, 2020
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.36 KB | None | 0 0
  1. /* zadanie 1
  2. #define _CRT_SECURE_NO_WARNINGS // wyłączenie ostrzeżeń kompilatora
  3. #include <stdio.h>
  4. #include <stdlib.h> //biblioteka z funkcją atol()
  5.  
  6. int main( void ) {
  7.     char tab[11]; //deklaracja zmiennych
  8.     long int temp;
  9.     int sum = 0;
  10.  
  11.     printf("Podaj jakis ciag liczb calkowitych (max 10 cyfr):"); //komunikat
  12.     scanf("%10s", tab); //pobranie liczby od użytkownika
  13.     temp = atol(tab); //konwersja stringa na liczbe calkowitą long int
  14.  
  15.     while (temp) { //dopóki temp!=0
  16.         sum += temp % 10; //dodawaj do sumy wynik operacji %10
  17.         temp /= 10; //dziel zmienną tymczasową, aby redukować jej rozdzielczość
  18.     }
  19.     printf("Suma liczb z ciagu: %d\n", sum); //wyświetlenie wyniku
  20.     getchar();
  21.     getchar();
  22.     return 0;
  23. }
  24. */
  25.  
  26. /* zadanie 2a
  27. #define _CRT_SECURE_NO_WARNINGS // wyłączenie ostrzeżeń kompilatora
  28. #include <stdio.h>
  29. int main( void ) {
  30.     double a, b; //deklaracja zmiennych
  31.     char c;
  32.     printf("Podaj pierwszy operand:");//komunikat
  33.     scanf("%lf", &a);//pobranie pierwszej liczby
  34.     printf("Podaj drugi operand:");//komunikat
  35.     scanf("%lf", &b);//pobranie drugiej liczby
  36.     while ((c = getchar()) != '\n' && c != EOF); //wyczyszczenie bufora ze znaku '\n'
  37.     printf("Podaj znak (+, -, /, *):");//komunikat
  38.     scanf("%c", &c);//pobranie znaku operacji
  39.     switch (c) {
  40.     case '+':
  41.         printf("a %c b = %.2lf\n", c, a + b);
  42.         break;
  43.     case '-':
  44.         printf("a %c b = %.2lf\n", c, a - b);
  45.         break;
  46.     case '/':
  47.         if (b != 0) printf("a %c b = %.2lf\n", c, a / b);
  48.         else printf("Nie dzieli sie przez zero!\n");
  49.         break;
  50.     case '*':
  51.         printf("a %c b = %.2lf\n", c, a * b);
  52.         break;
  53.     default:
  54.         printf("Nieprawidlowy znak!\n");
  55.         break;
  56.     }
  57.     getchar();
  58.     getchar();
  59.     return 0;
  60. }
  61. */
  62.  
  63. /* zadanie 2b
  64. #define _CRT_SECURE_NO_WARNINGS // wyłączenie ostrzeżeń kompilatora
  65. #include <stdio.h>
  66.  
  67. int valid_operator(char c) { //funkcja, która sprawdza, czy wczytany operator jest właściwy
  68.     switch (c) {
  69.     case '+':
  70.     case '-':
  71.     case '*':
  72.     case '/':
  73.         return 1;
  74.         break;
  75.     default:
  76.         return 0;
  77.         break;
  78.     }
  79. }
  80.  
  81. int main( void ) {
  82.     double a, b; //deklaracja zmiennych
  83.     char c;
  84.     printf("Podaj pierwszy operand:");//komunikat
  85.     scanf("%lf", &a);//pobranie pierwszej liczby
  86.     printf("Podaj drugi operand:");//komunikat
  87.     scanf("%lf", &b);//pobranie drugiej liczby
  88.     while ((c = getchar()) != '\n' && c != EOF); //wyczyszczenie bufora ze znaku '\n'
  89.     printf("Podaj znak (+, -, /, *):");//komunikat
  90.     //scanf("%c", &c);//pobranie znaku operacji
  91.     while (scanf("%c", &c) && valid_operator(c)) { //dopoki udaje się wczytać znak i jest on właściwy
  92.         switch (c) {
  93.         case '+':
  94.             printf("a %c b = %.2lf\n", c, a + b);
  95.             break;
  96.         case '-':
  97.             printf("a %c b = %.2lf\n", c, a - b);
  98.             break;
  99.         case '/':
  100.             if (b != 0) printf("a %c b = %.2lf\n", c, a / b);
  101.             else printf("Nie dzieli sie przez zero!\n");
  102.             break;
  103.         case '*':
  104.             printf("a %c b = %.2lf\n", c, a * b);
  105.             break;
  106.         }
  107.         printf("Podaj pierwszy operand:");//komunikat
  108.         scanf("%lf", &a);//pobranie pierwszej liczby
  109.         printf("Podaj drugi operand:");//komunikat
  110.         scanf("%lf", &b);//pobranie drugiej liczby
  111.         while ((c = getchar()) != '\n' && c != EOF); //wyczyszczenie bufora ze znaku '\n'
  112.         printf("Podaj znak (+, -, /, *):");//komunikat
  113.     }
  114.     printf("\nKoniec\n");
  115.     getchar();
  116.     getchar();
  117.     return 0;
  118. }
  119. */
  120.  
  121. /* zadanie 3
  122.     #define _CRT_SECURE_NO_WARNINGS // wyłączenie ostrzeżeń kompilatora
  123. #include <stdio.h>
  124.  
  125.  
  126. int main( void ) {
  127.     int n;
  128.    
  129.     printf("Podaj liczbe calkowita z przedzialu <1; 28> :");
  130.     while (scanf("%d", &n) && !(n >= 1 && n <= 28))
  131.         printf("Podaj liczbe calkowita z przedzialu <1; 28> :");
  132.  
  133.  
  134.     for (int i = 0; i < n; i++) {
  135.         for (int j = 0; j < n; j++) {
  136.             printf("x");
  137.         }
  138.         printf("\n");
  139.     }
  140.     getchar();
  141.     getchar();
  142.     return 0;
  143. }
  144. */
  145.  
  146. /* zadanie 4
  147. #define _CRT_SECURE_NO_WARNINGS // wyłączenie ostrzeżeń kompilatora
  148. #include <stdio.h>
  149.  
  150.  
  151. int main( void ) {
  152.     int n, temp, i, j; //deklaracja zmiennych
  153.  
  154.     printf("Podaj liczbe calkowita z przedzialu <1; 28> :");
  155.     while (scanf("%d", &n) && !(n >= 1 && n <= 28))
  156.         printf("Podaj liczbe calkowita z przedzialu <1; 28> :");//komunikaty i pobranie n od użytkownika
  157.  
  158.     for (i = 1; i <= n; i++) { //główna pętla
  159.         for (j = 0; j < n - i; j++) //wyświetlanie spacji
  160.             printf(" ");
  161.         for (j = 0; j < i; j++) //wyświetlanie znaków
  162.             printf("x ");
  163.         printf("\n"); //nowa linia
  164.     }
  165.  
  166.  
  167.     getchar();
  168.     getchar();
  169.     return 0;
  170. }
  171. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement