2016级(C语言程序设计)上机实验报告模版5-函数与结构体.doc
文本预览下载声明
北京信息科技大学
信息管理学院
(课程上机)实验报告
实验课程名称: C语言程序设计 专业: 信息安全
班级: 学生填写 学号: 学生填写 姓名: 学生填写 成绩:
实验名称 函数与结构体技术程序设计 实验地点 学生填写 实验时间 学生填写 实验目的:
熟练掌握函数参数传递技术
熟练掌握函数程序设计技术
掌握结构体技术及其程序设计。
【注】实验总用时:4课时。 实验内容:
⑴ 如下程序求方阵的主对角线上元素之和,填写相应语句在①~⑤处使程序完整,并上机调试以验证填空的正确性。
void add( a, sum )
int ① , ② ;
{ int i;
③ = 0;
for ( i=0; i3; i++ ) ④ ;
}
main() {
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}, k;
add( ⑤ ); printf( %d\n, k );
}
⑵如下函数实现了两字符串的比较,模拟了系统函数strcmp(),填写相应语句在①~④处使程序完整,并上机调试以验证填空的正确性。
#include stdio.h
int StrCmp( s1, s2 )
char ① ;
{ while ( ② * ③ ) {s1++; s2++;}
return ( ④ );
}
main() {
char str1[20], str2[20];
gets(str1); gets(str2); printf( %d\n, StrCmp(str1, str2) );
}
⑶ 编一个函数,若参数y为闰年,则返回1;否则返回0。符合下列条件之一的是闰年:
① 年号能被4整除但不能被100整除。
② 年号能被4整除又能被400整除。
应编写主程序验证函数正确性。
⑷ 编一个函数,返回一维实型数组前n个元素的最大值、最小值和平均值。数组、n和最大值、最小值、平均值均作为函数的形式参数,本函数无返回值,用指针实现值的返回。
应编写主程序验证函数正确性。
⑸ 编一个名为link的函数link(s1,s2,s3),要求如下:
形式参数: s1[40],s2[40],s3[80]是用于存放字符串的字符数组。
功能:将s2与s1连接存入s3中, s2连接到s1后面。
返回值:连接后字符串的长度。
应编写主程序验证函数正确性。
⑹ 编写递归函数求1~n的累加和。应编写主程序验证函数正确性。
⑺ 编写递归函数及非递归函数判定一个字符串是否“回文”(即中心对称),如LeveL,sees就是回文串。
应编写主程序验证函数正确性。
⑻ 编写递归函数及非递归函数将一个十进制数转换成R(R=2-16)进制数输出。
应编写主程序验证函数正确性。
⑼ 如下程序计算两个复数的和并将结果的实部、虚部输出。
typedef struct { float re, im; } COMP;
COMP m( COMP *x, COMP *y )
{ COMP z;
① = x-re + y-re; z.im = ② ; ③ ;
}
main() {
COMP a={12,8}, b={34,9}, c;
c = m( ④ ); printf( %f, %f\n, c.re, c.im );
}
填写相应语句在①~④处使程序完整,并上机调试以验证填空的正确性。
⑽ 定义一个职工类型,含有编号、姓名、基本工资、职务工资、实发工资五个成员;编一个程序,输入10个职工的编号、姓名、基本工资、职务工资,并进行如下处理:基本工资低于800元的涨10%但不超过800元,总工资1500元以上的部分按5%上个人所得税,总工资最高的员工应将自己总工资的2%赠与总工资最低的员工(假设不存在两个以上最高总工资的职工和两个以上最低总工资的职工,且他们的工资差额较大)。程序要求计算出每个职工的实发工资并输出。
⑾首先给出符合下列表格的学生类型(StudentType)描述,然后开设数组StudentType stu[5];并通过初始化方式将5名学生的信息存入stu[5]中。要求自动计算出平均成绩并按年龄从小到大对stu[5]排序。
编号
生日
成绩
平均
年
月
日
数学
物理
化学
实验要求:
独立编写程序,上机调试通过,写出实
显示全部