gpt4 book ai didi

c - 输入大小未知

转载 作者:行者123 更新时间:2023-11-30 21:02:56 25 4
gpt4 key购买 nike

我被要求构建一个C语言程序,该程序接收未知数量的正值和负值,并且在输入结束时,我不知道什么时候,我需要按照输入的顺序打印它们,不包括重复

例如:

Input: 1 8 9 3 3 5 8 -9 1
Output: 1 8 9 3 5 -9

不知道输入何时结束怎么办?另外 - 我如何进行这项练习?我很想得到一些指导...我知道我们使用 malloc 函数

最佳答案

我宁愿建议循环 scanf()带有 %d 格式说明符(int 类型足够吗?)和单个 int 变量。您需要检查它的返回值,除非没有进一步的有效输入,否则它应该为 1(考虑通过 feof 进行检查,因为您需要检测它停止的原因)。那么你需要:

  1. 用一些东西来控制你的分配,例如n 计数器和 malloc()realloc()来电。例如,为 1000 个 int 元素分配空间,但如果您的数组要超过这个数量,则使用 realloc() 进行更大的分配(依此类推)。请注意,操作系统资源是有限的,因此某些 malloc()realloc() 可能会失败
  2. 注意可能的重复项。如果不需要某种省时的解决方案,那么每次遇到下一个数字时就扫描整个数组

关于c - 输入大小未知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27348045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com