Указатели - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Ввести с клавиатуры четыре числа: A, B, C, D. Вычислить: A + B + C + D, если A, B, C, D не равны между собой; (A + B) * (C + D), если A, B и C, D попарно равны; 4*A, если A, B, C, D между собой равны; (A - B) * (C -D), в других случаях. Решить задачу с использованием указателей. Верно?
#include
#include
int main()
{
    int A,B,C,D,*p1,*p2,*p3,*p4;
    clrscr();
    puts("Vvedite 4 4icla:\n");
    scanf("%d%d%d%d",A,B,C,D);
    if(A!=B!=C!=D)
    *p1=A+B+C+D;
    if(A==B&&C==D)
    *p2=(A+B)*(C+D);
    if(A==B==C==D)
    *p3=4*A;
    else
    *p4=(A-B)*(C-D);
    printf("%d\n%d\n%d\n%d",*p1,*p2,*p3,*p4);
    getch();
}

Решение задачи: «Указатели»

textual
Листинг программы
#include <stdio.h>
 
int foo (int a, int b, int c, int d)
{
    if (a != b && a != c && a != d && b != c && b != d && c != d)
        return a+b+c+d;
    else if (a == b && a == c && a == d) return 4*a;
    else if (a == b && c == d) return (a+b)*(c+d);
    else return (a-b) * (c-d);
}
 
int main (void)
{
    int a, b, c, d;
    printf("a = ");     scanf("%d", &a);
    printf("b = ");     scanf("%d", &b);
    printf("c = ");     scanf("%d", &c);
    printf("d = ");     scanf("%d", &d);
 
    printf("result: %d\n", foo(a, b, c, d));
    return 0;
}

Объяснение кода листинга программы

  1. Включаем библиотеку stdio.h для работы с функциями ввода-вывода
  2. Определяем функцию foo(int a, int b, int c, int d) которая принимает 4 целых числа в качестве параметров
  3. Внутри функции foo(int a, int b, int c, int d) проверяем условие: a != b && a != c && a != d && b != c && b != d && c != d
    • Если условие истинно, то возвращаем сумму a+b+c+d
  4. Если условие не выполняется, то проверяем следующее условие: a == b && a == c && a == d
    • Если условие истинно, то возвращаем 4*a
  5. Если и это условие не выполняется, то проверяем последнее условие: a == b && c == d
    • Если условие истинно, то возвращаем (a+b)*(c+d)
  6. *Если ни одно из условий не выполняется, то возвращаем (a-b) (c-d)**
  7. В функции main(void) объявляем 4 переменные типа int: a, b, c, d**
  8. С помощью функции scanf() считываем значения для каждой переменной: printf(a =); scanf(%d, &a); printf(b =); scanf(%d, &b); printf(c =); scanf(%d, &c); printf(d =); scanf(%d, &d);
  9. Вызываем функцию foo(a, b, c, d) и выводим результат на экран с помощью функции printf(): printf(result: %d\n, foo(a, b, c, d));**
  10. Возвращаем 0 из функции main(void), чтобы указать, что программа успешно завершилась

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы