我知道在 C 中您可以对单个整数和字符使用 do-while,但我想知道是否可以对整组数字使用相同的 do-while 功能?
编辑:好吧,我真的很困惑这个作业问题在问什么。但我想我得到了问题,只是不知道什么功能会起作用。它希望用户输入几个温度。然后程序将测量温度并用三个类别检查它们。这三类是根据天气的冷热程度来划分的。 85以上为1,60-84为1,60以下为1。我认为与其再次打印出数字,不如将温度计入每个类别,然后在最后给出每个类别的总数。这有任何意义吗?谁能告诉我从哪里开始?
好的伙计们,到目前为止我已经知道了:
#include <stdio.h>
int main (void)
{
int temp;
double average;
int hot_days, pleasant_days, cold_days;
char x;
hot_days = 0;
pleasant_days = 0;
cold_days = 0;
printf("Enter the temperatures you wish to be categorized, each followed by a space.\n\n");
do
{
scanf("%d", &temp);
if (temp >= 85)
hot_days++;
if (temp < 60)
cold_days++;
else pleasant_days++;
{
while(x != 'q')
printf("Insert 'q' and press return.");
scanf("%c", &x);
printf("\n*************\n\nHot Days: %d\nPleasant Days: %d\nCold Days: %d\n",
hot_days, pleasant_days, cold_days);
return 0;
}
最佳答案
作为对您新编辑的回应,问题更加清晰,而且相当简单:
- 首先,我们需要三个
int
s(或unsigned int
s,取决于您的偏好)。我们称他们为highs
,middles
, 和lows
.我们将使用它们来跟踪我们看到的给定温度范围内的温度数量。或者,我们可以使用数组或结构,但现在这太过分了。 - 其次,我们需要循环。我不知道你的作业所说的什么信号应该表示“输入结束”,但这就是循环条件应该是什么。
- 在循环内,您应该读入一个数字,检查该数字在哪个范围内,然后递增适当的计数器变量(例如
high++
如果数字是< 80
)。 - 读入数字并递增计数器后,我们可能应该检查结束条件(即询问用户“你完成了吗?”或其他),然后结束循环。
- 一旦我们跳出循环,打印出我们的三个变量的值就是一件简单的事情。
关于C语言if语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1535252/