实验5-结构、指针与文件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验5 结构体、指针与文件

程序填空

1.指针数组

题目描述:从键盘任意输入一个整型表示的月份值,用指针数组编程输出该月份的英文表示,若输入的月份值不在1~12之间,则输出“Illegal month”。以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。

代码:

#include

int main()

{

char *monthName[13]={"Illegal month",

"January","February","March","April","May","June",

"July","August","September","October","November","December"};

int m;

printf("输入一个月份值(整型表示):");

scanf("%d",&m);

if(__(1)__)

printf("%s\n",monthName[0]);

else

printf("%s\n",__(2)__);

return 0;

}

2.二维数组作为函数参数

题目描述:编写一个函数,用来求出一个n×n阶矩阵的转置矩阵。函数原型为void Transpose(int a[][N],int n);

以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。

代码:

#include

#include

#define N 100

int main()

{

void Transpose(int a[][N],int n);

int d[N][N];

int n,i,j;

scanf("%d",&n);

for(i=0;i

for(j=0;j

d[i][j]=(int)rand()%100;

printf("原来的矩阵为:\n");

for(i=0;i

{

for(j=0;j

printf("%4d",d[i][j]);

printf("\n");

}

Transpose(__(1)__,n);

printf("转置后的矩阵为:\n");

for(i=0;i

{

for(j=0;j

printf("%4d",d[i][j]);

printf("\n");

}

return 0;

}

void Transpose(int a[][N],int n)

{

void Swap(int *pa,int *pb);

int i,j;

for(i=0;i

for(j=0;j

Swap(__(2)__);

}

void Swap(int *pa,int *pb)

{

int t;

t=*pa;

__(3)__;

*pb=t;

}

3.结构体

题目描述:定义一个复数MyComplex结构体类型,它包含实部real和虚部imag 两个个成员,并且可以进行复数的加减运算。以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。

代码:

#include

struct MyComplex

{

float real,image;

};

void Display(struct MyComplex c) /* 输出复数 */

{

printf("%.2f",c.real);

if(c.image>0) printf("+%.2f",c.image);

else printf("-%.2f",__(1)__);

}

__(2)__ Add(struct MyComplex x,struct MyComplex y)

{

struct MyComplex z;

z.real=x.real+y.real;

z.image=x.image+y.image;

return __(3)__;

};

__(4)__ Sub(struct MyComplex x,struct MyComplex y)

{

struct MyComplex z;

z.real=x.real-y.real;

z.image=x.image-y.image;

return __(5)__;

};

int main()

{

struct MyComplex c1={1,2},c2={3,4},c3;

c3=Add(c1,c2);

printf("\n两个复数相加的结果为:");Display(c3);

c3=__(3)__;

printf("\n两个复数相减的结果为:");Display(c3);

return 0;

}

4.结构体指针

题目描述:定义一个时钟结构体类型,它包含“时、分、秒”3个成员,然后编写一个时钟模拟显示程序。以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。代码:

#include

struct Clock

{

int second,minute,hour;

};

void update(struct Clock *pc)

{

pc->second++;

相关文档
最新文档