kb920811 2015-09-28 05:30 采纳率: 33.3%
浏览 2707

double类型除int类型,为什么用%ld读取输入一直是0?

#include

int main(void)

{
int n;
double sumeven = 0.0;
int ct_even = 0;
double sumodd = 0.0;
int ct_odd = 0;

while (scanf("%d", &n) == 1 && n != 0)
{
    if (n % 2 == 1)
    {
        sumodd += n;
        ++ct_odd;
    }
    else
    {
        sumeven += n;
        ++ct_even;
    }
}
printf("Number of evens: %d", ct_even);
if (ct_even > 0)
    printf("  average:%ld",sumeven / ct_even);
putchar('\n');

printf("Number of odds: %d", ct_odd);
if (ct_odd > 0)
    printf("  average: %g", sumodd / ct_odd);
putchar('\n');
printf("\ndone\n");

return 0;

}

  • 写回答

2条回答 默认 最新

  • 血虐丘比特 2015-09-28 08:25
    关注

    while (scanf("%d", &n) == 1 && n != 0)
    循环一次你就key in一次??

    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置