【问题标题】:How to store user input of round numbers in an Array如何将用户输入的整数存储在数组中
【发布时间】:2020-11-14 14:16:48
【问题描述】:

我有一个问题要解决。我必须制作一个程序,该程序将从数字序列中获取 2 个数字,并比较它们是否是 '' 或 '=' 并且数字列表需要以数字 0 结尾。所以基本上我有一个序列数字 {5, 7, 8, 4, 3, 3, 0} 并且程序必须检查 5,7 对(它是 5 4)然后3, 3 所以是 3 = 3。而 0 基本上是作为出口。

到目前为止,我写下了数字的比较,但现在我只有一个程序,它从用户那里获取 2 个输入并比较它们。但是我有点需要为用户指定让我们说输入 11 个以 0 结尾的数字(因为 0 不会被计入比较)并将这些数字存储在一个数组中,然后让程序在每个之后比较 2 个数字其他(按顺序)带有 或 =。

提前谢谢各位。我对 C 有点陌生,这些数组,特别是 malloc、calloc、realloc 对我来说真的很复杂。

到目前为止,我的代码如下所示:

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#define post 10
int main(){

    int a, b;


    printf("Enter two numbers: ");
    scanf("%d%d", &a, &b);

    if (a > b)
    {
        printf("%d > %d\n", a, b);
    }
    else if(a < b)
    {
        printf("%d < %d\n", a, b);
    }
    else
    {
        printf("%d = %d\n", a, b);
    }


    system("pause");
    return 0;
}

【问题讨论】:

    标签: arrays c input comparison


    【解决方案1】:

    您可以创建大数组,然后输入要比较的数字。然后您可以使用for 遍历数组中的数字并进行比较。

    这里是一个例子:

    #include <stdio.h>
    
    #define SIZE 100
    
    int main()
    {
        int arr[SIZE] = {0};
    
        printf("Enter number: ");
        
        int number;
        int counter = 0;   
        
        while (1)
        {
            if (scanf("%d", &number) != 1)
            {
                printf("Invalid number!");
                return 1;
            }
            arr[counter] = number;
            if(number == 0) {break;}
            counter++;
        }
    
        for (int i = 0; i < counter; i+=2)
        {
            if (arr[i] > arr[i + 1])
            {
                printf("%d > %d\n", arr[i], arr[i + 1]);
            }
            else if(arr[i] < arr[i + 1])
            {
                printf("%d < %d\n", arr[i], arr[i + 1]);
            }
            else
            {
                printf("%d = %d\n", arr[i], arr[i + 1]);
            }      
        }
        
        return 0;
    }
    

    输出:

    Enter number: 1 2 3 4 5 5 0
    1 < 2
    3 < 4
    5 = 5
    

    【讨论】:

    • 非常感谢这些信息帮助很大。问题是我的数组中需要有一组不均匀的数字,因为他们希望我以 0 结束数字序列,这基本上就像出口号一样。因此,例如,如果我有一个数字数组 {1,2,3,4,0} 它会比较 1
    • @Neolix 我根据你的情况修改了代码,这个答案适合你吗?
    • 哦,哇,我刚刚对其进行了测试,它的工作原理与我预期的一样,直到最后我输入 0!非常感谢,我真的很喜欢这个答案:) 非常感谢!!!
    • @Neolix 没问题 :)。如果答案如您所愿,您也可以将答案标记为“已接受”)
    猜你喜欢
    • 1970-01-01
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 2018-01-19
    相关资源
    最近更新 更多