金陵科技学院C语言程序设计 - 图文(9)

2019-08-17 13:07

金陵科技学院实验报告

实验4 构造类型程序设计

一、实验目的和要求

(1)熟悉结构体和共同体的概念;

(2))熟悉并掌握结构体变量、数组和共同体变量的定义、赋值与使用; (3)掌握结构体指针的定义与引用;

(4)掌握链表的概念,初步学会对链表进行操作;

(5)熟悉文件打开、关闭、写入、读出的方法;学会使用文件操作函数。

二、实验仪器和设备

奔腾以上计算机,装有windows XP以上版本操作系统和Visual C++ 6.0软件。

三、实验内容与过程

1、程序调试 (1) struct aa

{int x,*y;}*p;

int a[8]={10,20,30,40,50,60,70,80};

struct aa b[4]={100,&a[1],200,&a[3],10,&a[5],20,&a[7]}; main() {p=b;

printf(″%d″,*++p->y); printf(″%d\n″,++(p->x)); } (2) struc STU

{ char name[10]; int num; };

void f1(struct STU c)

{ struct STU b={“LiSiGuo”,2042}; c=b; }

void f2(struct STU *c)

{ struct STU b={“SunDan”,2044}; *c=b; } main( )

{ struct STU a={“YangSan”,2041},b={“WangYin”,2043}; f1(a) ;f2(&b) ;

printf(“%d %d\\n”,a.num,b.num); } 2、程序设计

39

金陵科技学院实验报告

说明,所有题目均需添加main(),在main()中调用子函数并设计完整的输入输出才可调试通过。

(1)(2)两题的学生记录由学号和成绩组成,结构体类型定义如下:

typedef struct { char num[10]; double s;

} STREC; (1)功能:a所指向的数组中有N名学生的数据,请编写函数double fun(STREC *a,STREC *b),把a数组中分数最高的学生数据放在b所指的数组中。分数最高的学生可能不止一个,函数返回分数最高的学生人数。(画程序流程图)

(2)功能:a所指的数组中有N名学生的数据,请编写函数double fun(STREC *a,STREC *b,int *n),把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。

(3)从键盘输入一系列字符(以$作为输入结束标志),将其存入文件file1.txt中,再从该文件中查找某个字符(该字符可以输入),如果查找成功将返回成功标志,否则返回不成功标志。

3、讨论、思考题

功能:N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写子函数double fun(STREC *h),找出学生的最高分,由函数值返回。

注意:链表的节点类型定义如下: struct slist { double s;

struct slist *next; };

typedef struct slist STREC;

程序清单及流程图: 2(1)

#include #define N 10 int n;

typedef struct { char num[10]; double s; }STREC;

double fun(STREC *a,STREC *b) { int i,j; double k=a[0].s,counter=0.0; for(i=1;i40

金陵科技学院实验报告

{ k=a[i].s; } } for(j=0;j

main() { STREC a[N]; STREC b[N]; int i; double max; printf(\ scanf(\ getchar(); for(i=0;i

(2)

#include #define N 10 int n;

typedef struct { char num[10];

41

金陵科技学院实验报告

double s; }STREC;

double fun(STREC *a,STREC *b) { int i,j; double k=a[0].s,counter=0.0,aver,sum=0; for(i=0;imain() { STREC a[N]; STREC b[N]; int i; double ave; printf(\ scanf(\ getchar(); for(i=0;i

42

than average

金陵科技学院实验报告

(3)#include #include void Input() {

FILE *fp;

if((fp = fopen(\ {

exit(1); }

char a;

printf(\输入一串字符,以$结束\\n\ while(scanf(\ {

fputc(a,fp); }

fflush(stdin); fclose(fp); }

int Find(char c) {

FILE *fp;

int flag = 0;

if((fp = fopen(\ {

exit(1); }

while(!feof(fp)) {

char ch = fgetc(fp); if(ch == c) flag = 1; }

if(flag == 1) {

printf(\ } else

printf(\ fclose(fp); return 0; }

int main() {

43


金陵科技学院C语言程序设计 - 图文(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:学校突发水污染事件应急预案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: