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

C#使用数组实现月降雨量星号(*)形式输出的问题排查

问题原因

你代码的柱状图功能失效,核心是输出逻辑完全没有关联用户输入的降雨量数据,存在两处错误:

  • 星号生成逻辑错误:你只是每次循环给全局的bar变量追加1个星号,和当月实际降雨量没有任何关联
  • 输出逻辑错误:每次循环只输出bar字符串的第i位字符,最终只会逐行输出1个星号,无法形成对应长度的柱状图

修复方案

直接替换原代码中输出柱状图的for循环部分即可:

//outputs results for each month
for (i = 0; i < 12; i++)
{
    Console.Write("Month {0}: ", i + 1);
    // 按当月降雨量生成对应长度的星号串,数值是多少就生成多少个星号
    string currentMonthBar = new string('*', monthrainfall[i]);
    Console.WriteLine(currentMonthBar);
}

额外优化建议

你当前的平均降雨量计算存在精度丢失问题:你用int类型的total直接除以12,执行的是整数除法,会自动舍弃小数部分。建议修改平均计算逻辑:

average = (double)total / 12;

这样就能得到带小数的准确平均值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 17:39:03