openjudge 1.6.3 计算书费

OpenJudge - 03:计算书费


解题思路:

1.由题意得,最后输出的是十本书的总价,精确到小数点后一位,那么可以想到用一个累加器可以计算总价,并且要定义为double类型,即 double sum=0;必须初始化

2.每本书的单价是已知的,并且有十个数据,所以我们可以在main函数外定义一个double类型的数组,用来存放这十个数据,数组初始化数据的方式有3种:

第一种直接在main函数外,全部为0;

第二种,如果要求数组内是相同的数,则可以循环初始化;

第三种可以利用集合的方式规定,很明显符合第三种初始化的方式,对应的语句为double a[15]={28.9,32.7,……};注意这种方式是从数组的下标0开始存入数据的,即a[0]=28.9,如果想要从编号1的位置存,则第一个元素值写成0即可,后续访问的时候不必访问0的位置,直接访问1的位置

3.接下来输入的一行为十本书的单价,则我们再开一个int类型的b数组用来存放数据,可以从下标0的位置存储

4.最后计算总价,创建一个循环,i从0到9,将a数组对应的单价乘b数组对应的数量,然后便得到这本书的总价,累加到累加器中  sum=sum+a[i]*b[i];


#include<bits/stdc++.h>
using namespace std;

double a[15]={28.9,32.7,45.6,78,35,86.2,27.8,43,56,65};
//定义double类型的数组a,存放对应的单价 

int b[15];//定义数组b,用来存放每本书的数量 
int main()
{
	for(int i=0;i<10;i++)
	cin>>b[i];//依次输入每本书的数量 

	double sum=0;//sum为总价 
	for(int i=0;i<=9;i++)
	{
		sum=sum+a[i]*b[i];//将每本书总价添加到累加器中 
	}

	printf("%.1lf",sum);//保留一位小数输出 
	return 0;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值