第三次作业

7-1 计算职工工资

1.设计思路

(1)主要描述题目算法

①要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出)

②基本工资、浮动工资、支出这些项都与某一职员相联系,所以可以定义一个结构体

③利用for循环将信息输入进去

④利用for循环依次输出

(2)流程图

2.实验代码

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct workers
{
  char name[10];
  float a1;
  float a2;
  float a3;
}s[1000];
main()
{
  int i,n;
  float sum=0;
  scanf("%d",&n);
  for(i=0;i<n;i++)
  {
    scanf("%s %f %f %f",s[i].name,&s[i].a1,&s[i].a2,&s[i].a3);
  }
  for(i=0;i<n;i++)
  {
    sum=s[i].a1+s[i].a2-s[i].a3;
    printf("%s %.2f\n",s[i].name,sum);
    sum=0;
  }
  system("pause");
}

3.本题调试过程碰到问题及解决办法

①scanf函数对应字符型时不用&符

Git地址:https://coding.net/u/shaonian29/p/2017024070/git/blob/master/%E6%9C%AA%E5%91%BD%E5%90%8D1.cpp?public=true

 7-2 计算平均成绩

1.设计思路

(1)主要描述题目算法

①要求计算他们的平均成绩,并顺序输出平均线以下的学生名单

②定义结构体

③利用for循环输入学生基本信息

④再次利用for循环进行判断

2.实验代码

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct student
{
  char x[10];
  char y[5];
  int z;
}s[10];
main()
{
  int i,n;
  float sum=0,t;
  scanf("%d",&n);
  for(i=0;i<n;i++)
  {
    scanf("%s %s %d",s[i].y,s[i].x,&s[i].z);
    sum=s[i].z+sum;
  }
  t=sum/(n*1.0);
  printf("%.2f\n",t);
  for(i=0;i<n;i++)
  {
    if(s[i].z<t)
    {
      printf("%s %s\n",s[i].x,s[i].y);
    }
  }
  system("pause");
}

3.本题调试过程碰到问题及解决办法

Git地址:https://coding.net/u/shaonian29/p/2017024070/git/blob/master/%E6%9C%AA%E5%91%BD%E5%90%8D2.cpp?public=true

 

posted @ 2018-04-19 20:32  郑宏泽  阅读(207)  评论(0编辑  收藏  举报