Видите ли, я сам учу себя С++ (не совсем, я все еще откладываю -_-). Итак, теперь я начал университет, и они обучают C, и они заставили нас сделать программу ввода четырех целых чисел, и мы должны рассказать о самых больших и маленьких из них. Простой, нет?
Дело в том, что у меня уже есть хорошее понимание функций и массивов. Да, я МОГУ программировать это в массивах, без проблем. Но поскольку это была первая лаборатория, мы еще не "научились", поэтому я не могу использовать ни один из них, это было бы очень просто с этим.
Это то, что я там написал (он как-то чувствует себя не так).
#include<stdio.h>
int main(void)
{
int first, second, third, fourth;
printf("Enter four integers (separated by space): ");
scanf("%d %d %d %d", &first, &second, &third, &fourth);
if((first>second) && (first>third) && (first>fourth))
printf("\nFirst number is largest");
else if((second>first) && (second>third) && (second>fourth))
printf("\nSecond number is largest");
else if((third>second) && (third>first) && (third>fourth))
printf("\nThird number is largest");
else if((fourth>second) && (fourth>third) && (fourth>first))
printf("\nFourth number is largest");
if((first<second) && (first<third) && (first<fourth))
printf("\nFirst number is smallest");
else if((second<first) && (second<third) && (second<fourth))
printf("\nSecond number is smallest");
else if((third<second) && (third<first) && (third<fourth))
printf("\nThird number is smallest");
else if((fourth<second) && (fourth<third) && (fourth<first))
printf("\nFourth number is smallest");
printf("\n");
return 0;
}
Как вы можете видеть, он слишком длинный, скучный и сложный. Но, увидев, что все, что мы рассмотрели в классе на данный момент, это циклы и решения. Есть ли более элегантный способ сделать это? Тот, который использует меньше if
s? Не то, чтобы с этим что-то не так, но это может быть лучше.
P.S. Это не совсем "домашнее задание" или что-то еще. Я сделал программу, я просто хотел узнать, что я мог сделать, чтобы сделать ее лучше, и изучить лучшие методы программирования.