实验5 结构体、指针与文件
程序填空
1. 指针数组 题目描述:从键盘任意输入一个整型表示的月份值,用指针数组编程输出该月份的英文表示,若输入的月份值不在1~12之间,则输出“Illegal month”。以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。 代码:
#include
char *monthName[13]={\
\
\ int m;
printf(\输入一个月份值(整型表示):\ scanf(\ if(__(1)__)
printf(\ else
printf(\ return 0; }
2. 二维数组作为函数参数
题目描述:编写一个函数,用来求出一个n×n阶矩阵的转置矩阵。函数原型为
void Transpose(int a[][N],int n);
以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。 代码:
#include
void Transpose(int a[][N],int n); int d[N][N]; int n,i,j;
scanf(\ for(i=0;i d[i][j]=(int)rand()0; printf(\原来的矩阵为:\\n\ for(i=0;i for(j=0;j printf(\ printf(\ } Transpose(__(1)__,n); printf(\转置后的矩阵为:\\n\ for(i=0;i for(j=0;j printf(\ printf(\ } return 0; } void Transpose(int a[][N],int n) { void Swap(int *pa,int *pb); int i,j; for(i=0;i void Swap(int *pa,int *pb) { int t; t=*pa; __(3)__; *pb=t; } 3. 结构体 题目描述:定义一个复数MyComplex结构体类型,它包含实部real和虚部imag 两个个成员,并且可以进行复数的加减运算。以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。 代码: #include float real,image; }; void Display(struct MyComplex c) /* 输出复数 */ { printf(\ if(c.image>0) printf(\ else printf(\} __(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(\两个复数相加的结果为:\ c3=__(3)__; printf(\两个复数相减的结果为:\ return 0; } 4. 结构体指针 题目描述:定义一个时钟结构体类型,它包含“时、分、秒”3个成员,然后编写一个时钟模拟显示程序。以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。 代码: #include int second,minute,hour; }; void update(struct Clock *pc) { pc->second++; if(pc->second==60) { __(1)__; pc->minute++; } if(__(2)__) { pc->minute=0; pc->hour++; } if(pc->hour==24) { __(3)__; } } void display(struct Clock *pc) { printf(\} void delay(struct Clock *pc) { int t; for(t=0;t<100000000;t++); /* 用循环体为空语句的循环实现延时 */ } int main() { int i; struct Clock clock={0,0,0}; for(i=0;i<1000000;i++) /* 利用循环结构,控制时钟运行的时间 */ { update(&clock); /* 更新时分秒显示值*/ display(&clock); /* 显示时分秒 */ delay(&clock); /* 模拟延迟时间为1秒 */ } return 0; } 5. 复制文件 题目描述:根据程序提示重键盘输入一个已存在的文本文件的完整文件名,再输入一个新文本文件的完整文件名,然后将已存在的文本文件中的内容全部复制到新文本文件中。以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。 代码: #include
相关推荐: