你看,我自学了 C++(不完全,我还在拖延 -_-)。所以,现在我开始上大学,他们在教 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?并不是说这有什么问题,但它可能会更好。
PS这不完全是“家庭作业”或任何东西。我做了一个程序,我只是想知道我可以做些什么来让它变得更好并学习更好的编程实践。