实验三综合程序设计分析.doc
文本预览下载声明
上海建桥学院
程序设计基础C语言(本科)
实验报告
模块名称: 第一模块 简单C程序设计 实验类型: 综合型 实验环境: ( 415 )机房 VC++6.0 院别: 机电学院 专业: 电科B13-1 学号: 1121486 学生姓名: 周鹏飞 指导老师: 成长生 学期: 2015年-2016第一学期
实验三 综合程序设计
理解输出参数的概念和运用场合
理解指针的概念
掌握使用指针变量向主调函数传值的方法
掌握数据文件的循环读取结构
掌握fprint fsanf等文件操作语句的使用
任务一 改错 两数交换
打开程序文件error02_04.cpp改正程序中的错误。Swap函数的功能是交换两个数的值,在main函数中指定两个数的大小,调用swap函数交换两个数的值输出。
正确的程序输出:
a=20,b=10
#includestdio.h
void swap(int *pa,int *pb);
int main()
{
int a=10,b=20;
swap(a,b);
printf(a=%d,b=%d\n,a,b);
return 0;
}
void swap(int *pa,int *pb)
{int t;
t=pa,pa=pb,pb=t;
}
#includestdio.h
void swap(int *pa,int *pb);
int main()
{
int a=10,b=20;
swap(a,b);
printf(a=%d,b=%d\n,a,b);
return 0;
}
void swap(int *pa,int *pb)
{int t;
t=*pa;*pa=*pb;*pb=t;
}
任务二 3个数排序
利用指针实现输入a,b,c共3个整数,按大小顺序输出。要求:编写exchange函数,功能是交换两个数的值。在main函数中输入3个数,调用exchange函数实现3个数按大小顺序输出。
源程序清单:
#include stdio.h
void exchange(int *pa, int *pb);
void main()
{
int a, b, c;
printf(input a b c:);
scanf(%d %d %d,a,b,c);
if(cb)
exchange(c,b);
if(ba)
exchange(b,a);
if(cb)
exchange(c,b);
printf(%d %d %d\n,a,b,c);
}
void exchange(int *pa, int *pb)
{
int temp;
temp=*pa; *pa=*pb; *pb=temp;
}
测试用例:
任务三 日期换算 ex02_11.cpp
打开程序文件ex02_11.cpp
#include stdio.h
int isLeap(int year);
void getDate(int y,int days,int*pm,int *pd);
int getDays(int y,int m,int d);
int main (void)
{
return 0;
}
//编写子函数求某天是该年的几月几日
void getDate(int y,int days,int*pm,int *pd)
/*y为年份,days为该年的某天,pm指向主调函数中存放某天的月值变量, */
/* pd指向主调函数中存放某天的日值变量*/
{int m,d,i;
int day;
m= ; /* m:某天计算后的月值 */
d= ; /* d:某天计算后的日值 */
*pm= ;
*pd= ;
}
//编写子函数求某年某月某日是该年的第几天
int getDays(int y,int m,int d)
{
}
//编写子函数判断闰年。
int isLeap(int year)
{
}
1.要求:
(1)编写子函数判断闰年:int isLeap(int year)
(2)编写子函数求某天是该年的几月几日:
(3)编写子函数求某年某月某日是该年的第几天
(4)main函数中设计步骤验证函数的正确性
2.提示
(1)求某年某月某日是该年的第几天
思路:累计从1月到该日期的前一月的每月天数再加上该日期的天数。2月份的天数要判断闰年。累计可使用循环完成也可利用switch语句无break的特性完成。
(2)求某天是该年
显示全部