使用迭代构造的高温和低温阵列

时间:2017-02-11 17:36:21

标签: c arrays for-loop

我一直在尝试编写一个程序,提示用户输入他们想要在3到10天之间跟踪的天数。如果他们输入的值小于2或大于10,则应该遇到错误消息并且程序应该循环。在参数中输入值后,程序应使用for循环提示用户输入高温和低温,直到输入所有值为用户选择的天数。这些值也应存储在匹配的数组中。

#include <stdio.h>

int main (void)
{
    int i;
    int day[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int high;
    int low;

    printf ("---===IPC Temperature Analyzer V2.0===---\n");

    printf ("Please enter the number of days between 3 and 10, inclusive: ");
    scanf("%d", &i);



    for(;i<10;i++) {
            printf("Day %d - High: \n", day[i]);
    }



return 0;

} 

现在我只专注于让程序输出用户选择输入的天数,然后让那些日子让用户输入高点和低点。到目前为止我所管理的最好的是程序输出仅为高点的日子,但如果用户输入,比如4,它将产生第4天 - 高:第5天 - 高:等等......第1天 - 高;第2天 - 高达到达到这个天数为4的天数。我也很困惑,我可以让用户使用for循环输入温度。如果有人可以提供一些例子,甚至可以提供一些有关如何解决这些问题的见解,我们将不胜感激。

1 个答案:

答案 0 :(得分:1)

你有int i。相同的变量被用作循环索引,并且它被用于从用户获取输入。当用户说4时,i被分配给4,循环从i = 4到i = 9.因此这个观察结果。

  

它将产生第4天 - 高:第5天 - 高:等等......而不是第1天 - 高;第2天 - 高到达到这个天数为4的天数

现在要做你想做的事情,你可以从另一个变量说limit获取用户的输入,然后像这样使用循环

for (i=0; i < limit; i++)

此外,您需要验证limit的值不超过数组的大小day[]