第三次作业
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函数对应字符型时不用&符
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.本题调试过程碰到问题及解决办法
无