12345678 A =
910111213141516编写程序,用二维数组存储矩阵元素,从键盘输入数据,将矩阵转置后按行输出。
实验9 使用指针的程序设计
【实验目的】
1. 掌握使用指针变量的方法。
2. 掌握带有指针形参的函数的定义及调用方法。 3.正确使用函数指针调用函数。 4.正确使用指针操作数组元素。 5.正确使用指针数组操作字符串。 【实验内容】
1. 编写程序,使用指针实现打印一维数组所有元素的操作。
要求: 每行打印4个元素。
从键盘输入下面一组数据进行测试:
5,12,2,6,1,24,15,11,7,3,19,20,13,8
2.编写程序,实现交换两个变量值的操作。
要求: 使用形参为指针的函数swap完成交换功能。 主函数中,使用整型指针从键盘输入两个整数,通过调用swap完成交换。 输出交换前后的变量值进行比较。
3.编写程序,实现两个字符串拷贝的函数strcopy。
要求: 不允许使用C的字符串函数strcpy。
目标串的长度不应该超过源串的长度。对这个条件进行检查。
主程序中从键盘输入两个字符串。调用strcopy函数实现字符串拷贝操作。 输出拷贝前后,两个字符串的内容。
4.下面的程序是一个使用函数指针调用函数的实例。阅读程序,输入、编译、连接,运行并观察结果。体会使用函数指针调用函数的步骤。
#include
11
main()
{ int a,b,c;
int (*funp)(int,int); /*定义函数指针*/ printf(\ scanf(\
funp=max; /*函数指针指向具体的函数*/ c=(*funp)(a,b); /*用函数指针调用函数*/ printf(\}
实验10 使用结构和联合进行程序设计
【实验目的】
1.掌握结构类型变量与数组的定义和使用。
2.掌握使用结构指针和结构变量名使用结构成员的方法。 3.掌握链表的基本概念和操作。 4.掌握联合的概念与使用。 【实验内容】
1.从键盘输入5个人的姓名、年龄和性别,然后输出。
要求:分别通过结构指针和结构变量名输出信息。用函数data_in实现数据输入,用函数data_pout实现通过结构指针输出结构数据的操作,用函数data_nout实现通过结构变量名输出结构数据的操作。
2.输入10本书的名称和单价,按照单价进行排序。
要求:采用结构数组存储数据,使用冒泡或选择排序算法实现排序。
3.下面的程序,构造一个如下图所示的三个结点的链表,并顺序输出链表中结点的数据。
10 20 30 h NULL
a b c
实验10 第3题图示
#include
struct node *next; /* 指向本结点类型的指针是实现链表的基础 */ }; main()
{ struct node a,b,c,*h,*p; /* 定义三个结点 h是头指针*/
12
a.data=10; b.data=20; c.data=30; /* 结点的数据赋值 */ h=&a; /* 头指针指向a结点 */
a.next=&b; /* a结点的指针指向b结点 */ b.next=&c; /* b结点的指针指向c结点 */
c.next=NULL; /* c结点的指针值为空,表示最后一个结点 */ p=h; /* 遍历每一个结点,打印数据 */ while (p)
{ printf(\
p=p->next; /* 指针移到下一个结点 */ } }
阅读程序,输入、编译、连接,运行并观察结果。体会构造和使用链表的方法。 4.输入并运行下面程序,观察结果,分析联合变量的存储特点。
#include
{ int i[2]; long k; char c[4]; } t, *s=&t; s->i[0]=0x39; /* 按照整型成员的类型赋值 */ s->i[1]=0x38; printf(\ /* 按照长整型成员的类型使用储存内容 */ printf(\/* 按照字符型成员的类型使用储存内容 */ }
程序的输出结果为: 380039 9
实验11 使用文件的程序设计
【实验目的】
1.掌握文件与文件指针的概念。
2.学习使用文件打开、文件关闭、读写文件等基本的文件操作函数。 【实验内容】
编写程序,从键盘输入某宿舍楼6家住户某月的水电消耗量及水费和电费标准,计算各户应交纳的水费和电费。
数据及要求如下:
1.水费标准为:1.5元/吨,电费标准为:0.5元,6户人家的信息如下表:
住户地址 水耗(吨) 电耗(度) 101 201
5 4 13
150 90 301 401 501 601 4 3 5 6 120 78 60 105 将表中信息按下面格式组织在文件input.dat中: 1.5 0.5 101 5 150 102 4 90 103 4 120 104 3 78 105 5 60 106 6 105
要求程序从文件input.dat中读取上述数据。
2.分别计算每户应交纳的电费、水费以及电费水费的总和。 2. 汇总全部住户水费、电费的总和。
3. 将计算结果按下面格式写入文件charge.dat中。表格线不必输出,如果实验环境不支持
中文,第一行内容可使用英文或拼音码表示。
住户地址 水耗(吨) 水费(元) 电耗(度) 电费(元) 合计(元) 101 201 301 401 501 601 total
5 4 4 3 5 6 27 7.5 6 6 4.5 7.5 9 40.5 150 90 120 78 60 105 603 75 45 60 39 30 52.5 301.5 82.5 51 66 43.5 37.5 61.5 342 14