在 C 类(class)中,我们学习了 if/else 语句、重复、运算符、循环和开关。
此作业的目的是让用户输入 5 个数字并返回以下输出:
显示输入的最小数字
显示输入的最大数
显示输入的五个数字之和
显示输入的五个数字的平均值
我知道它很长而且可能陷入困境,但它运行并适用于除重复输出零而不是实际最小数字的“最小值”之外的所有对象。不知道我哪里做错了。任何提示都会有所帮助。
int choice = 0, number, sum = 0, count = 0, minim = 0, max = 0;
float average;
printf("Please enter your first number: ");
scanf("%i", &number);
if (number < minim) {
minim = number; }
if (max < number) {
max = number; }
count += number;
printf("Please enter your second number: ");
scanf("%i", &number);
if (number < minim) {
minim = number; }
if (max < number) {
max = number; }
count += number;
printf("Please enter your third number: ");
scanf("%i", &number);
if (number < minim) {
minim = number; }
if (max < number) {
max = number; }
count += number;
printf("Please enter your fourth number: ");
scanf("%i", &number);
if (number < minim) {
minim = number; }
if (max < number) {
max = number; }
count += number;
printf("Please enter your fifth number: ");
scanf("%i", &number);
if (number < minim) {
minim = number; }
if (max < number) {
max = number; }
count += number;
sum += count;
average = sum / 5;
while (choice != -1) {
printf("\n\nChoose an option from the menu below to see the results (1,2,3,4) or use (-1) to exit:\n");
printf("1. Smallest number entered\n");
printf("2. Largest number entered\n");
printf("3. Sum of the five numbers entered\n");
printf("4. Average of the five numbers entered\n\n");
printf("\nEnter your selection: ");
scanf("%i", &choice);
switch (choice) {
case 1:
printf("\n The smallest number entered is %i\n", minim);
break;
case 2:
printf("\n The largest number entered is %i\n", max);
break;
case 3:
printf("\n The sum of the five numbers entered is %i\n", sum);
break;
case 4:
printf("\n The average of the five numbers entered is %.2lf\n", average);
break;
default:
printf("Incorrect menu option selected.\n");
}
}
printf("\nThank you for your time. Exiting program.\n");
最佳答案
正如 John3136 提到的,您可以将初始最小值分配给常量 INT_MAX
,将初始最大值分配给 INT_MIN
,您可能应该这样做,因为它会使转换到循环更容易,但是当前代码的一个更简单的替代方法是简单地将用户输入的初始值分配给 minim
。如果您使用 max
to 执行此操作也会有所帮助,因为它将允许您的程序处理负数。
关于c - 所有输入的最小值——C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49501235/