B. 实验8_2_推销员的便条

本文介绍了一种处理销售数据的方法,通过收集多个销售员的产品销售记录,计算并展示每位销售员及每种产品的总销售额。使用二维数组存储数据,通过遍历和累加实现数据汇总,并以表格形式输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述
问题描述:
某公司有四个销售员(代号1—4),负责销售五种产品(代号1—5)。每个销售员都把当天售出的每种产品各写一张便条交上来。每张便条包含销售员的代号、产品的代号、这种产品的销售额。我们搜集到了每个月的所有便条,你的任务是根据这些便条,计算出每人、每种产品的总销售额。处理完销售信息后,以表格形式打印出结果。用列代表销售员,行代表产品。每种产品的销售总额输出到该行的最右边,每个销售员的销售总额输出到该列的最下边。
输入与输出要求:
输入一个整数n,代表便条的数量,然后是n组便条的内容,每组内容包括两个整数和一个浮点数,即销售员的代号、产品的代号、这种产品的销售额。输出信息处理后的矩阵,矩阵占6行,5列,矩阵元素保留一位小数。每行的每个元素用tab分隔,注意每行最后一个数的后面为换行符。输出格式细节见样例。
特别提醒:1、输出只包含数据,不包含列表的行和列的说明,即saler1、prod1等内容。2、存储浮点数数据的二维数组用 float类型
程序运行效果:
Sample 1:
4↙
1 1 35.6↙
1 2 23.1↙
1 1 89.3↙
4 5 22.6↙
saler1 saler2 saler3 saler4 totalprod1 124.9 0.0 0.0 0.0 124.9prod2 23.1 0.0 0.0 0.0 23.1prod3 0.0 0.0 0.0 0.0 0.0prod4 0.0 0.0 0.0 0.0 0.0prod5 0.0 0.0 0.0 22.6 22.6total 148.0 0.0 0.0 22.6 170.6

Mysterious‘s way

#include<stdio.h>
#include<string.h>
int main()
{
 float a[7][6]={0.0};
 int n;
 scanf("%d",&n);
 float t=0.0;
 float sumrow[6]={0.0};
 float sumcol[7]={0.0};
 float temp;
 int col,row;
 for(int i=0;i<n;i++)
 {
  scanf("%d%d%f",&col,&row,&temp);
  a[row-1][col-1]+=temp;
 }
 for(int i=0;i<5;i++)
 {
  for(int j=0;j<4;j++)
  {
   sumrow[i]+=a[i][j];
  }
 }
 for(int j=0;j<4;j++)
 {
  for(int i=0;i<5;i++)
  {
   sumcol[j]+=a[i][j];
  }
 }
 for(int i=0;i<5;i++)
 {
  a[i][4]=sumrow[i];
 }
 for(int j=0;j<4;j++)
 {
  a[5][j]=sumcol[j];
 }
 for(int i=0;i<5;i++)
 {
  t+=sumrow[i]; 
 }
 a[5][4]=t;
 for(int i=0;i<6;i++)
 {
  for(int j=0;j<5;j++)
  {
   if(j<4)
   {
    printf("%.1f\t",a[i][j]);
   }
   else
   {
    printf("%.1f\n",a[i][j]);
   }
  }
 }
 return 0; 
}

另一种思考
枚举

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值