gpt4 book ai didi

c - 我该怎么做才能使我的程序在 do while 循环中保持在开关中输入的最小数字?

转载 作者:太空宇宙 更新时间:2023-11-04 08:12:51 25 4
gpt4 key购买 nike

我正在尝试从用户那里获取数字,他们想输入多少就输入多少。在菜单中。除了这个最低数量的东西,我已经得到了工作所需的一切。我不确定从这里去哪里。我不知道如何获得交换机中的号码。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#define PAUSE system("pause")
#define CLEAR system("cls")

main() {
// Initialize variables
char choice;
int sum = 0;
int avg = 0;
int high = 0;
int low = 0;
int quit = 0;
int i = 0;
int num = 0;
int j = 0;
int prevNum;

do{
printf("What would you like to do\n"
"A: enter an integer\n"
"B: show sum\n"
"C: Show average\n"
"D: show Highest num\n"
"E: Show lowest\n"
"Q: quit\n");
scanf("%c", &choice);
CLEAR;

switch (choice) {
case 'A':
printf("Enter an Integer\n");
scanf("%i", &num);
j++;
sum = num + sum;

if (num > high)
high = num;

PAUSE;
break;

case 'B':
printf("The sum of al numbers entered is %i\n", sum);
PAUSE;
break;

case 'C':
avg = sum / j;
printf("The average of all numbers entered is %i\n",avg);
PAUSE;
break;

case 'D':
printf("The Highest number entered is %i\n", high);
PAUSE;
break;

case 'E':

printf("The lowest number entered is %i\n", low);
PAUSE;
break;

case 'Q':
quit = 1;
break;


} // end switch

} while (quit != 1);

PAUSE;
} // END MAIN

最佳答案

你可以只使用:

if (num < low) {
low = num;
}

唯一的问题是第一个数字。由于您将 low 初始化为 0,因此用户输入的任何正数都不会低于此值。您需要特别对待第一个数字。您可以为此检查 j 的值。

然后在您的 A 案例中,测试这个变量。

case 'A':
printf("Enter an Integer\n");
scanf("%i", &num);
j++;
sum = num + sum;

if (j == 1 || num > high)
high = num;
if (j == 1 || num < low)
low = num;

PAUSE;
break;

关于c - 我该怎么做才能使我的程序在 do while 循环中保持在开关中输入的最小数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37978328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com