NeQrhk 2015-07-31 13:23 采纳率: 30.6%
浏览 1694

一道acm练习题目,发票统计的题目,怎么把整数弄成单精度的没想明白?问下

发票统计
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65536kB
描述
有一个小型的报账系统,它有如下功能:
(1)统计每个人所报发票的总钱数
(2)统计每类发票的总钱数
将此系统简化为如下:假设发票类别共有A、B、C三种;一共有三个人,ID分别为1、2、3。

输入
系统输入包含三行,每行第一个数为人员ID(整型,1或2或3),第二个数为发票总张数(张数不超过100),之后是多个发票类别(字符型,A或B或C)和相应发票金额(单进度浮点型,不超过1000.0)。
输出
输出包含六行,前三行为每人(按ID由小到大输出)所报发票总钱数(保留两位小数),后三行为每类发票的总钱数(保留两位小数)。
样例输入
1 5 A 1.0 A 2.0 C 1.0 B 1.0 C 1
3 3 B 1 C 2 C 1
2 4 B 1 A 1 C 1 A 1
样例输出
1 6.00
2 4.00
3 4.00
A 5.00
B 3.00
C 6.00
————————————————
它的输入是单精度和整数混在一起的,不过我写的只能是单精度浮点型
可以帮忙改下吗__


代码如下
——————————————-
#include " stdio.h”
typedef struct {
char ch[100];
float a[100];
}node[1000];
int main()
{
node p1;
int n, m;
char ch;
float d, sum = 0, s[3] = { 0.0 };
int i, j, k[3] = { 0 }, t, q;
for (i = 0; i < 3; i++)
{
p1[i].ch[100] = NULL;
p1[i].a[100] = { 0.0 };
}
for (t = 0; t<3; t++)
{
scanf_s("%d%d", &n, &m);
for (j= 0; j<m; j++)
{
getchar();
ch = getchar();
scanf_s("%f",&d);
p1[n-1].ch[k[n-1]] = ch;
p1[n-1].a[k[n-1]] = d;
k[n-1]++;
}
printf("%d\n", k[n - 1]);
}
for (i = 0; i<3; i++)
{
printf("%d ", i + 1);
for (t = 0; t<k[i]; t++)
sum += p1[i].a[t];
printf("%0.2f\n", sum);
sum = 0;
}
for (i = 0; i<3; i++)
{
for (t = 0; t < k[i]; t++)
{
if (p1[i].ch[t] == 'A')
s[0] += p1[i].a[t];
else if (p1[i].ch[t] == 'B')
s[1] += p1[i].a[t];
else if (p1[i].ch[t] == 'C')
s[2] += p1[i].a[t];
}
}
printf("%c %0.2f\n", 'A', s[0]);
printf("%c %0.2f\n", 'B', s[1]);
printf("%c %0.2f\n", 'C', s[2]);
return 0;
}

  • 写回答

3条回答 默认 最新

  • threenewbee 2015-07-31 13:26
    关注

    scanf_s("%d%d", &n, &m);
    目测这里缺少空格

    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?