You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言中如何实现用户输入存入数组且不存储终止值

解决终止值被存入数组的问题

你当前代码的问题在于先把输入写入数组,再判断是否为终止值,导致-100.0这个终止值被提前存进了数组里。只需要调整读取和判断的顺序就能解决:先把输入读到临时变量里,确认不是终止值后,再存入数组。

修改后的代码:

printf("Enter temperatures or -100.0 to stop: "); // 用户输入提示
int i = 0;
float input; // 用临时变量承接输入
while (1) {
  scanf("%f", &input);     // 先读取输入到临时变量
  if (input == -100.0) {   // 判断是否为终止值,是则退出循环
    break;
  }
  temp[i] = input; // 非终止值才存入数组
  i++;
}

额外提醒:

  • 浮点数值比较时,若对精度要求较高,建议用差值的绝对值小于极小值来判断(比如fabs(input + 100.0) < 1e-6),避免因浮点存储的精度误差导致判断失效。

内容的提问来源于stack exchange,提问作者user27803601

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 07:52:03