综合程序设计7
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
综合实验报告
姓名:罗健美学号:0900220419 日期:2011.06.05
(周日三,四节)
一实验目的和要求
1 利用所学过的C语言编程的基本知识如综合顺序,分支,循环结构和函数,以及数组,指针,结构体和公用体,文件等进行编程,较全面地掌握C语言的知识。
2 初步掌握输入,输出,查找和排序的编程方法。
3 逐步掌握C语言编程基本方法和技能。
二实验内容
编写程序,从键盘输入某宿舍楼6家住户某月的水电消耗量及水费和电费标准,计算各
水费标准为:1.5元/吨,电费标准为:0.5元/度
三实验步骤
1 源程序
#include"stdio.h"
#define N 6
struct yhsdtj
{
int huhao;
int shuihao;
int dianhao;
}yhsdtj[N]; //定义结构体数组存放六个用户的户号,水耗和电耗
struct tongji
{
float shuihaofy;
float dianhaofy;
}tongjify[N]; //定义一个结构体数组存放六个用户的水费和电费
input1() //定义一个函数输入各个用户的户号,水耗和电耗,存放到结构体数组yhsdtj[6]中{
int i;
for(i=0;i { printf("请输入第%d个用户的户号,水耗和电耗:\n",i+1); scanf("%d %d %d",&yhsdtj[i].huhao,&yhsdtj[i].shuihao,&yhsdtj[i].dianhao); } input2() //定义一个函数输入每吨水和每度电的费用,并把值赋给外部变量a,b { extern float a,b; printf("\n请输入每吨水和每度电的费用:\n"); scanf("%f %f",&a,&b); } tongji() //定义一个函数计算各户的水费和电费,存放到结构体数组tongjify[6]中,并输出{ int i; extern float a,b; for(i=0;i { tongjify[i].shuihaofy=a*yhsdtj[i].shuihao; tongjify[i].dianhaofy=b*yhsdtj[i].dianhao; } printf("\n各用户的水费电费\n"); for(i=0;i { printf(" %d %.1f %.1f\n",yhsdtj[i].huhao,tongjify[i].shuihaofy,tongjify[i].dianhaof y); } } heji() //定义一个函数计算各用户的水费和电费合计,六个用户的水耗总和,水费总和,电耗总和,电费总和,水费和电费总和并输出 { int i,sum1=0,sum2=0; float sum[6]={0},sum3=0,sum4=0,sumt=0; for(i=0;i<6;i++) { sum[i]=tongjify[i].shuihaofy+tongjify[i].dianhaofy; //各用户水费和电费合计 sumt+=sum[i]; //六个用户水费和电费的总和 sum1+=yhsdtj[i].shuihao; //各用户的水耗合计 sum2+=yhsdtj[i].dianhao; //各用户的电耗合计 sum3+=tongjify[i].shuihaofy; //各用户的水费合计 sum4+=tongjify[i].dianhaofy; //各用户的电费合计 } printf("\n各户的水电费总和\n"); for(i=0;i<6;i++) { printf(" %d %.1f\n",yhsdtj[i].huhao,sum[i]); } printf("\n六个用户的水耗合计水费合计电耗合计电费合计水费和电费的总计"); printf("\n %d %.1f %d %.1f %.1f\n",sum1,sum3, sum2,sum4,sumt); } float a,b; main() { input1(); input2(); tongji(); heji(); } 2 程序运行过程和结果 四实验总结 1 实验中,定义了不同的数据类型,有整型,有浮点型,一开始很容易在定义变量时把变量类型搞混,使得输出结果不对。 2 不同类型的数据进行计算时是允许的,但有转换的规则。如本程序中使用了整型数据与浮点型数据进行相乘,计算时是将整型数据自动转换成浮点型后再计算,结果为浮点型。建议可使用强制类型转换。请继续努力!!