满意答案

seld

2013.08.10

采纳率:44%    等级:8

已帮助:61人

没大问题呀,就是

d=d+a[i]*b[i];}

后面多了一个“}”,去掉就可以运行了。

d=(d*100+0.5)/100的本意是对的,但是会结果不对,至少得改为:

d=(int)(d*100+0.5)/100.0f,结果才可能理解,否则输出时对整数会多出一个从0.005舍入得到的.01来。因为在“%10.2f“格式时printf会自动对小数点后第3位进行舍入操作,所以这一步应该去掉为好。

输入时注意输入格式,品名 数量 单价之间都用空格分开,不能用别的。

没说总的项数,可以用输入的数量或单价作为结束标志,比如输入-1时就结束循环:

do {...} while(a[i]<0 || b[i] <0)。

其实这里的a和b都不需要用数组,因为就输入时用一次,直接设为普通变量就够了;c保存输入的品名,在程序中完全没有用到,根本不用输入的。就是说,最后代码可以这样写:

int main()

{

int i=0,a;

float b,d=0;

while(1)

{

scanf("%f%d",&b,&a);

if ( a == -1 ) break;

d=d+a*b;

}

printf("%10.2f",d);

return 0;

}追问: d=(int)(d*100+0.5)/100.0; 当中

加int是把哪一部分强制准换?

追答:  是把(d*100+0.5)这一部分转换为整型,把小数部分丢弃。然后除以float型的常数“100.0f”(注意最后有个"f",否则默认是double型的,编译时会得到警告)时,再把整数转换为float然后做除法。

比如d=0.005时,(int)(d*100+0.5)/100.0f =(int)(0.005*100+0.5)/100.0f=1/100.0f=0.01

比如d=0.008时,(int)(d*100+0.5)/100.0f =(int)(1.3)/100.0f=1/100.0f=0.01

否则,如果d=0时,(d*100+0.5)/100 =0.5/100=0.005,这是一个double型的值,因为0.5被认为是double型的。这个结果按%10.2f格式输出时就变成0.01了。

00分享举报

c语言求商品的总价程序,C语言简单问题,求商品总价。。在线急等大神解答相关推荐

  1. c语言矩阵的逆的程序,C语言求矩阵的逆矩阵

    <C语言求矩阵的逆矩阵>由会员分享,可在线阅读,更多相关<C语言求矩阵的逆矩阵(12页珍藏版)>请在人人文库网上搜索. 1.C语言求矩阵的逆矩阵班级: 自动化1604小组成员: ...

  2. matlab运行后没反映,这个matlab程序运行没反应是怎么回事?在线急等

    这个matlab程序运行没反应是怎么回事?在线急等 关注:77  答案:2  手机版 解决时间 2021-02-10 04:27 提问者失夜久伴你 2021-02-09 19:46 function ...

  3. matlab 连续两个if,求大神解答一个matlab中的for循环嵌套if选择语句

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:求大神解答一个matlab中的for循环嵌套if选择语句回答:1.最后缺少一个end;2.这句输出没什么意义:disp A(i)=A ...

  4. [LeetCode]LRU Cache有个问题,求大神解答【已解决】

    题目: Design and implement a data structure for Least Recently Used (LRU) cache. It should support the ...

  5. c语言中cout lt lt endl,求C语言和C++大神解答,printf怎么转成cout输出语句

    话题:求C语言和C++大神解答,printf怎么转成cout输出语句回答:cout输出不需要指定输出的格式类型,其他的和printf一样的, endl 表示换行,当然 \n也还是可以用的. cout ...

  6. 软件开发Linux环境下,java通过JNA调用so报错,求大神解答,感激不尽。

    软件开发Linux环境下,java通过JNA调用so报错,求大神解答,感激不尽. 图片说明 最佳答案: 专家已采纳 先用c等调用一下so,看函数能否正确调用 文章来源:https://ask.csdn ...

  7. c语言按键实现跳转程序,C语言中的跳转语句

    <C语言中的跳转语句>由会员分享,可在线阅读,更多相关<C语言中的跳转语句(4页珍藏版)>请在人人文库网上搜索. 1.C语言中的跳转语句c语言有4个跳转语句return.got ...

  8. 如何用c语言编写炫酷烟花程序,C语言实现放烟花的程序

    这是一个利用C语言编写放烟花的程序(同时也可以播放音乐),供大家参考,具体内容如下 代码如下 #pragma once #include #include //图形界面库头文件 #include // ...

  9. C语言输入end时结束程序,c语言输入eof结束怎么写

    1.C语言里的EOF(结束程序)怎么用 在C语言中,或更精确地说成C标准函数库中表示文件结束符(end of file).在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件 ...

最新文章

  1. 设计数据密集型应用程序_设计数据密集型应用程序书评
  2. swift date 计算差_[Swift 设计模式] 适配器
  3. easyui数据表格重置_数据库三种删除方式
  4. “Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported“解决方法
  5. debian+gnu/linux+9,Steam for Debian GNU/Linux
  6. 网络基础知识(黑马教程笔记)-5-路由
  7. 虹科工业树莓派在激光雕刻中的应用
  8. React Native_React Native组件(ListViewFlatListSectionList)
  9. Windows上部署Discuz论坛
  10. 和Ajax斗志斗勇的日子
  11. HDU_1709 The Balence (生成函数)
  12. 最新人工智能、大数据与复杂系统一月特训班_机器学习入门到精通
  13. Dojo JQuery
  14. [CentOS8+gitlab-ce本地配置手顺]
  15. java开发项目中遇到的难点,帮你突破瓶颈
  16. python输入代码如何清除_如何清空python
  17. 如何对HDFS进行节点内(磁盘间)数据平衡
  18. A. Find The Array
  19. mac java调用浏览器_Mac OS:Web 浏览器意外退出或停止响应
  20. UC开放平台要让信息流无处不在,与百度思路有何不同?

热门文章

  1. 你真的认为iPhone只是一部手机?苹果惊天秘密之 二
  2. sublime 集成 markdown 插件【小明同学】
  3. 根据包名打开其他应用。
  4. Android开发本地及网络Mp3音乐播放器(十五)网络音乐及歌词下载功能实现
  5. 【收藏】C#面试题整理笔试篇(最全1000+道带答案)300道填空 + 300道选择 + 300道判断 + 70道读程序写结果和看程序填空 + 100道简答题
  6. mysql查询权限show grants_[MySQL]查看用户权限与GRANT用法
  7. huffman编码压缩c语言,用Huffman编码对文件进行压缩的C语言实现
  8. 房子并发什么意思_周公解梦:梦见建房子是什么意思
  9. 【Turtle表白系列】你为什么还单身 ?因为昨天才遇见你。(爱心升级版本来袭)
  10. 最美情侣怎么用计算机,最美情侣参赛宣言