c语言计算书费

描述
下面是一个图书的单价表:
计算概论 28.9 元/本
数据结构与算法 32.7 元/本
数字逻辑 45.6 元/本
C++程序设计教程 78 元/本
人工智能 35 元/本
计算机体系结构 86.2 元/本
编译原理 27.8 元/本
操作系统 43 元/本
计算机网络 56 元/本
JAVA程序设计 65 元/本
给定每种图书购买的数量,编程计算应付的总费用。

关于输入
输入第一行包含一个正整数k(0<k<100),表示有k组测试数据;接下来k行,每行包含一组测试数据。每组测试数据包含10个整数(大于等于0,小于等于100),分别表示购买的《计算概论》、《数据结构与算法》、《数字逻辑》、《C++程序设计教程》、《人工智能》、《计算机体系结构》、《编译原理》、《操作系统》、《计算机网络》、《JAVA程序设计》的数量(以本为单位)。每两个整数用一个空格分开。

关于输出
对于每组测试数据,输出一行。该行包含一个浮点数f,表示应付的总费用。精确到小数点后两位。

可用printf("%.2f\n", sum)来输出sum的值,并精确到小数点后两位。

#include<stdio.h>
int main()
{
int a[10];
int t,i;
float m;
scanf("%d",&t);
while(t--)
{
for(i=1;i<=10;i++)
scanf("%f",a[i]);
m=28.9*a[1]+32.7*a[2]+45.6*a[3]+78*a[4]+35*a[5]+86.2*a[6]+27.8*a[7]+43*a[8]+56*a[9]+65*a[10];
printf("%.2f\n",m);
}
return 0;
}
不知道哪里错了.....说是最后一行的 } 个错了

那个,我编译没错误,不过我觉得那个你的错误应该是scanf("%f",a[i]);因为你的int a[];是整形的,所以scanf("%d",&a[i]);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-05
#include<stdio.h>
int main()
{
int k,i,t;
double a[10]={28.9,32.7,45.6,78,35,86.2,27.8,43,56,65};
double sum;
scanf("%d",&k);
while(k>0)
{
sum=0;
for(i=0;i<10;i++)
{
scanf("%d",&t);
sum=sum+a[i]*t;
}
printf("%.2lf\n",sum);
k--;
}
return 0;
}