hhh_haru 2022-09-22 17:11 采纳率: 42.9%
浏览 20
已结题

为什么输入2、3.1、3.1,输出结果为0?

为什么这段代码输入2、3.1、3.1,输出的结果是0啊qwq

#include<iostream>
using namespace std;
int main()
{
 
    int n;
    double a,x,sum=0;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        scanf("%f",&x);
        sum+=x;
    }
    a=sum/(double)n;
    printf("%.4lf",a);
    return 0;     
}
 
 

  • 写回答

4条回答 默认 最新

  • 於黾 2022-09-23 00:10
    关注

    你输入的时候为什么要带顿号,全部改为空格
    而且你最开始用cin,后面为什么要改成scanf,你还用cin就不用管到底用什么字符分隔了,它会自动帮你处理
    你用scanf,那么输入的时候就必须跟定义的格式一致

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 10月3日
  • 已采纳回答 9月26日
  • 创建了问题 9月22日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部