C 输入数字,显示最高、最低、平均和输入的数字数。使用菜单
我的分组任务是制作一个程序,允许用户输入任意数量的数字,然后程序会告诉您输入的最高数字、最低数字、平均数字、输入的总数和平均数字。我们必须使用菜单 我们已经把菜单写好了。我们的大部分计算代码都在案例A中(我们必须使用字母)来计算这些东西。但我们不知道如何让程序重复。如果您输入完数字,然后说N到“您想输入另一个数字吗”,程序就会关闭 还有,你如何计算总数C 输入数字,显示最高、最低、平均和输入的数字数。使用菜单,c,C,我的分组任务是制作一个程序,允许用户输入任意数量的数字,然后程序会告诉您输入的最高数字、最低数字、平均数字、输入的总数和平均数字。我们必须使用菜单 我们已经把菜单写好了。我们的大部分计算代码都在案例A中(我们必须使用字母)来计算这些东西。但我们不知道如何让程序重复。如果您输入完数字,然后说N到“您想输入另一个数字吗”,程序就会关闭 还有,你如何计算总数 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <st
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#define pause system("pause")
#define cls system("cls")
#define pause system("pause")
#define flush fflush(stdin)
#include <ctype.h> // contains toupper
main(){
int num, count = 0, high = 0, low = 0, total = 0;
float avg;
char choice = ' ', again;
printf("\t\t =====================\n");
printf("\t\t == MAIN MENU ==\n");
printf("\t\t =====================\n");
printf("\t\tA. Enter a number.\n");
printf("\t\tB. Display the highest number.\n");
printf("\t\tC. Display the lowest number.\n");
printf("\t\tD. Display the average of all numbers.\n");
printf("\t\tE. Display how many numbers were entered.\n");
printf("\t\tQ. Quit.\n\n\n");
printf("Enter your selection: ");
scanf("%c", &choice);
switch (choice) {
case 'A':
do {
printf("Enter a number: ");
scanf("%i", &num);
if (count = 0) {
high = num;
low = num;
}
else
if (num > high)
num = high;
if (num < low)
num = low;
count++;
printf("Do you want to enter another number? (Y/N): ");
scanf("%c", &again);
} while (again != 'N');
break;
case 'B':
if (count == 0) { printf("Please enter a number first.\n\n");
}
else printf("The highest number is %i\n\n", high);
break;
case 'C':
if (count == 0) printf("Please enter a number first.\n\n");
else printf("The lowest number is %i\n\n", low);
break;
case 'D':
if (count == 0) printf("Please enter a number first.\n\n");
else
avg = total / count;
printf("The average is %.2f\n\n", avg);
break;
case 'E':
printf("You entered %i numbers.\n\n", count);
break;
case 'Q':
printf("Thanks for playing.\n\n");
break;
default:
printf("Invalid Selection.\n\n");
break;
}
pause;
}
\define\u CRT\u SECURE\u NO\u警告
#包括
#包括
#定义暂停系统(“暂停”)
#定义cls系统(“cls”)
#定义暂停系统(“暂停”)
#定义刷新刷新(标准输入)
#include//contains-toupper
main(){
int num,count=0,high=0,low=0,total=0;
浮动平均值;
字符选择='',再次;
printf(“\t\t==================================\n”);
printf(“\t\t==主菜单==\n”);
printf(“\t\t==================================\n”);
printf(“\t\tA.输入一个数字。\n”);
printf(“\t\tB.显示最大数字。\n”);
printf(“\t\tC.显示最低的数字。\n”);
printf(“\t\tD.显示所有数字的平均值。\n”);
printf(“\t\tE.显示输入的数字数量。\n”);
printf(“\t\tQ.Quit。\n\n\n”);
printf(“输入您的选择:”);
scanf(“%c”,选择(&c));
开关(选择){
案例“A”:
做{
printf(“输入一个数字:”);
scanf(“%i”和&num);
如果(计数=0){
高=num;
低=num;
}
其他的
如果(数值>高)
num=高;
如果(数值<低)
num=低;
计数++;
printf(“是否要输入其他号码?(Y/N):”;
scanf(“%c”,再次(&D);
}而(又是!=“N”);
打破
案例“B”:
如果(count==0){printf(“请先输入一个数字。\n\n”);
}
else printf(“最高数字为%i\n\n”,高);
打破
案例“C”:
如果(count==0)printf(“请先输入一个数字。\n\n”);
else printf(“最低的数字是%i\n\n”,低);
打破
案例“D”:
如果(count==0)printf(“请先输入一个数字。\n\n”);
其他的
平均值=总数/计数;
printf(“平均值为%.2f\n\n”,平均值);
打破
案例“E”:
printf(“您输入了%i个数字。\n\n”,计数);
打破
案例‘Q’:
printf(“感谢您的播放。\n\n”);
打破
违约:
printf(“无效选择。\n\n”);
打破
}
暂停;
}
您需要包含另一个while循环来封装switch语句
bool running = 1;
while(running)
{
printf("Enter your selection: ");
scanf("%c", &choice);
switch(choice)
{
...
case 'q':
case 'Q':
running = 0;
break;
}
}
scanf(“%c”&再次)代码>-->scanf(“%c”,再次(&c))代码>。(添加空格)
如果没有该空格,在输入123ENTER后,num
将使用'1'
,'2'
,'3'
,但将'\n'
保留为%c'
。通过在“%c”
之前添加空格,scanf()
将首先使用任何空格,然后再将char
分配给
scanf("%i", &num);
...
printf("Do you want to enter another number? (Y/N): ");
// scanf("%c", &again);
scanf(" %c", &again);
} while (again != 'N');
你试过使用while循环吗?所以不是来解决你的家庭作业的。不过有一个提示-如果你想让程序重复,你需要某种循环,在这种情况下可能是while
loopsearch google for“while loop in c”@cisforcoockies我尝试了一段时间,我在一开始就做了,然后在所有的情况下,我都做了while(choice!=\uuuuuuuuuuu)idk放在那里