| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 266 人关注过本帖
标题:请教一下各位一个简单的问题。
只看楼主 收藏
number25
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-3-13
结帖率:0
  已结贴   问题点数:20  回复次数:4   
请教一下各位一个简单的问题。
给定每种图书购买的数量,编程计算应付的总费用。
Input
输入第一行包含一个正整数k(0<k<100),表示有k组测试数据;接下来k行,每行包含一组测试数据。每组测试数据包含10个整数(大于等于0,小于等于100),分别表示购买的《计算概论》、《数据结构与算法》、《数字逻辑》、《C++程序设计教程》、《人工智能》、《计算机体系结构》、《编译原理》、《操作系统》、《计算机网络》、《JAVA程序设计》的数量(以本为单位)。每两个整数用一个空格分开。
Output
对于每组测试数据,输出一行。该行包含一个浮点数f,表示应付的总费用。精确到小数点后两位。
Sample Input
2
1 5 8 10 5 1 1 2 3 4
3 5 6 3 100 1 1 0 1 0
Sample Output
2140.20
4427.80




我的代码如下:按照Sample输入结果却是0.00,所以特地虚心求问

#include<stdio.h>
int main()
{
int k;
int i;
int a[10];
double sum;
scanf("%d",&k);
for(i=1;i<=k;i++)
    {
    scanf("%d%d%d%d%d%d%d%d%d%d",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],&a[6],&a[7],&a[8],&a[9]);
    sum=28.90*a[0]+32.70*a[1]+45.60*a[2]+78.00*a[3]+35.00*a[4]+86.20*a[5]+27.80*a[6]+43.00*a[7]+56.00*a[8]+65.00*a[9];
    printf("%.2f\n",&sum);
    }
return 0;
}
2018-03-13 14:45
number25
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-3-13
  得分:0 
附件: 您没有浏览附件的权限,请 登录注册
2018-03-13 14:46
will丶
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:84
专家分:353
注 册:2015-10-19
  得分:7 
我的天,你这写的什么啊,你不知道数组用循环读写么
程序代码:
#include <stdio.h>
int main()
{
     int k,i,j;
     float sum=0;
     float a[10]={28.9,32.7,45.6,78,35,86.2,27.8,43,56,65};
     int b[10];
     scanf("%d",&k);
         for(j=0;j<k;j++)
         {
              sum=0;
              for(i=0;i<10;i++)
              {
                 scanf("%d",&b[i]);
                 sum=sum+a[i]*b[i];
               }
             printf("%.2f\n",sum);
         }
         return 0;
}

腾空类星陨,遥望若花生。
2018-03-13 14:59
闻悦
Rank: 1
等 级:新手上路
帖 子:1
专家分:7
注 册:2018-2-11
  得分:7 
皮 或者用while循环也是可以的
2018-03-17 11:50
lanke711
Rank: 9Rank: 9Rank: 9
来 自:流浪在天国之路
等 级:蜘蛛侠
威 望:7
帖 子:317
专家分:1437
注 册:2015-7-16
  得分:7 
就谈语法。。。
for(i=1;i<=k;i++)
    {
    scanf("%d%d%d%d%d%d%d%d%d%d",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],&a[6],&a[7],&a[8],&a[9]);
    sum=28.90*a[0]+32.70*a[1]+45.60*a[2]+78.00*a[3]+35.00*a[4]+86.20*a[5]+27.80*a[6]+43.00*a[7]+56.00*a[8]+65.00*a[9];
    printf("%.2f\n",&sum);sun是double类型的,另外,你printf的是sun,加个取地址&符号,用的是.2f是要打印地址还是结果数值??
    }

普通人之所以普通,是因为他们普遍有一个通病,那就是认为自己永远普通。
千夫所指,我亦坚持。就算被所有人误解,我也照样守护这一切。
我们总是觉得,这些灵魂的表情,傲慢自大,目中无人,其实,真正目中无人的是我们。它们傲慢的不过是表情,而我们傲慢的却是行为!
记得,是为了忘记!
只要想着有那么一天,我就能忍受现在的每一天!
灾难并不可怕,可怕的是心中没有了希望。
你以为我在天堂,其实我正在路上。
当你觉得自己走不到终点的时候,请不要放弃。或许你的对手也是这种感觉。
2018-03-17 13:18







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031385 second(s), 8 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved