c - 使用迭代结构的高温和低温阵列

标签 c arrays for-loop

我一直在尝试编写一个程序,提示用户输入他们想要跟踪的天数(3 到 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,它将生成 Day 4 - High:、Day 5 - High: 等...而不是第 1 天 - 高;第 2 天 - 高,直到达到天数(本例中为 4)。我也很困惑如何让用户使用 for 循环输入温度。如果有人可以提供一些例子,甚至提供一些关于如何解决这些问题的见解,我们将不胜感激。

最佳答案

您有一个int i 。同一变量用作循环索引,并用于获取用户的输入。当用户说4时, i被分配给4并且循环从 i = 4 运行到 i = 9。因此出现了这个观察结果。

it will produce Day 4 - High:, Day 5 - High:, etc... instead of Day 1 - High;, Day 2 - High until it reaches the number of days which is 4 in this case

现在要做你想做的事,你可以在不同的变量中获取用户的输入,比如 limit然后像这样使用循环

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

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

关于c - 使用迭代结构的高温和低温阵列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42179026/

相关文章:

c - 如何修复函数及其声明的 "conflicting types"?

c - 在 C 文件中重新声明不透明结构

Java - 操作顺序 - 在一行中使用两个赋值运算符

for-loop - 暂停for循环的执行

c 中带有信号量的关键部分

c# - 在 C# 中将 IList 转换为数组

Javascript:取消移动到数组的第二个位置

javascript - 如何创建一个 for 循环递增一个数字,直到找到余数为 0 的那个?

python - 如何在python中使用print显示类实例

c - 默认情况下,gcc 链接到静态或动态标准库吗?