2301_80003199 2023-11-02 09:37 采纳率: 60%
浏览 5
已结题

这个咋错了,不是很理解大伙帮看看

img


我又来了,这个又出错了,大家看看错哪了,目前还没搞懂,走过看一看,瞧一瞧

img

我改了以后变成这样了!咋办

  • 写回答

3条回答 默认 最新

  • a5156520 2023-11-02 09:39
    关注

    把b定义在循环前, 然后i++放到while循环里的后面部分,再将scanf()里的%f改为%lf即可。

    修改如下:

    
    #include <stdio.h>
    
    int main(void){
        
        double a[10];
        double b=0.0;  // 将存储10个整数的和b定义到while循环前,以便可以在while循环外可以访问它 
        int i=0;
        while(i<10){
            printf("nuber %d:",i+1);
            scanf("%lf",&a[i]);   // 这里将%f改为%lf,因为读取double类型的数,需要使用%lf 
            
            if(a[i]>0){
                
                b+=a[i];
            }
            i++;  // 将下标变量i递增1这里,放到while循环后面部分,因为累加和还需要先使用i原来的值 
        }
        
        printf("%f",b);
        
        return 0;
        
    } 
    

    img

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

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 已采纳回答 11月2日
  • 修改了问题 11月2日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 如何入门学习c语言,单片机
  • ¥15 idea 编辑语言的选择
  • ¥15 Windows下部署Asmjit
  • ¥15 请问双层规划模型的上下层目标函数不一致,是如何保证迭代收敛性的
  • ¥15 微信小程序 前端页面内容搜索
  • ¥15 cpu是如何判断当前指令已经执行完毕,然后去执行下条指令的
  • ¥15 安装visual studio2022时visualstudiosetup启动不了,闪退。问题代号0x0和0x1389
  • ¥30 java spring boot2.5.3版本websocket连不上
  • ¥15 angular js调外部链接查看pdf
  • ¥15 openFOAM DPMFoam