/*试试 while( scanf("%*s%lf%lf", &w,&p) != EOF )
%*s的作用跳过相应的输入项目,就是说输入了也不会进行赋值 w数量 p单价 */ #include<stdio.h> #include<math.h> int main() { char str[100]; double p,q; double ans=0; while(~scanf("%s%lf%lf",str,&p,&q)) { ans=ans+p*q; } printf("%.1lf\n",ans);//自动会四舍五入 return 0; }妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一下了,呵呵。
输入含有一些数据组,每组数据包括菜种(不含空格的字串),数量w(计量单位不论,一律为double型数)和单价p(double型数,表示人民币元数),因此,每组数据的菜价就是数量乘上单价啊。菜种、数量和单价之间都有空格隔开的。
支付菜价的时候,由于最小支付单位是角,所以总是在支付的时候采用四舍五入的方法把分头去掉。最后,请输出一个精度为角的菜价总量。
知道%*s的作用吗?试试 while( scanf("%*s%lf%lf", &w,&p) != EOF ){ }