我又来了,这个又出错了,大家看看错哪了,目前还没搞懂,走过看一看,瞧一瞧
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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥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