云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 11第十一章结构体和联合体练习

11第十一章结构体和联合体练习

  • 62 次阅读
  • 3 次下载
  • 2025/4/30 23:45:31

}e;

e.a=1;e.b=2; e.in.x=e.a*e.b; e.in.y=e.a+e.b;

printf(“%d,%d\\n”,e.in.x,e.in.y);

}

10、以下程序的执行结果是 。 #include main() {

union u {

char * name; int age; int income; }s;

s.name=”WANGLING”; s.age=28;

s.income=1000;

printf(“%d\\n”,s.age); } 11、以下程序中使用一个结构体变量表示一个复数,然后进行复数加法和乘法运算。根据复数的定义,其代数式为:A=a+bi,则:复数的加法定义为:

(a+bi)+(c+di)=(a+c)+(b+d)i 复数的乘法定义为:

(a+bi)(c+di)=(ac-bd)+(bc+ad)i

请在程序的空白处填入一条语句或一个表达式。

#include struct mulp_number {

float real,virtual; }; main() {

struct mulp_number a,b,sum,mul; printf(“输入a.real、a.virtual、

b.real、b.virtual:”);

scanf(“%f%f%f%f”,&a.real,&a.virtual,

&b.real,&b.virtual);

sum.real= (1) ; sum.virtual= (2) ;

mul.real= (3) — (4) ; mul.virtual= (5) + (6) ;

printf(“sum.real=%f,sum.virtual=%f\\n”,

sum.real,sum.virtual);

printf(“mul.real=%f,mul.virtual=%f\\n”,

mul.real,mul.virtual); } 12、以下程序用于在结构体数组中查找分数最高和最低的同学姓名和成绩。请在程序中的空白处填入一条语句或一个表达式。 #include main() {

int max,min,i,j; static struct {

char name[8]; int score;

}stud[5]={“李萍”,92,”王兵”,72,”钟虎”,83,”孙逊”,60,”徐军”,88}; max=min=1 for (i=1;i<5;i++)

if (stud[i].score>stud[max].score)

(1) ; else if (stud[i].score

13、以下函数dele(h,x)用于删除一个整数单链表中值为x的结点,h是链表的首指针,删除成功返回0,否则返回-1,链表的结点结构定义如下: struct link {

int data;

struct link *next; };

链表的首结点data域存放该链表中整数的个数,如果链表中整数个数为0,则h—>data为0,h—>next为NULL,而h不指向NULL,find(h,x)函数用于在首指针为h的链表中查找值为x的结点,找到时返回一

个指向x的前趋的指针,否则返回NULL。函数dele(h,x)和find(h,x)的定义如下。请在程序中的空白处填入一条语句或一个表达式。

struct link *find(h,x) struct link *h; int x; {

struct link *p, *q; p=h—>next; q=h;

while (p!=NULL&&p—>data!=x) {q= (1) ; p= (2) ; }

if (p= =NULL) return (NULL); return( (3) ); }

dele(h,x) struct link *h; int x; {

struct link *q, *find();

if (!(h—>data)) return(-1); if ((q=find(h,x))!= (4) ) {

struct link *p; p=q—>next;

q—>next= (5) ; free(struct link *p); h—>data--; return(0); }

return(-1); } 14、以下程序是对两个数x和y的正确性进行判断:若0<=x

{Right,Less0,Great100,MinMaxErr};

char *ErrorMessage[ ]={“输入数据正确”,

”小于0错误”,”大于100错误”,”x>y错误”}; main() {

int status,x,y; do {

printf(“输入两个数(x,y):”); scanf(“%d%d”,&x,&y); status= (1) ; printf(ErrorMessage[ (2) ]); }while (status!=Right);

printf(“Result=%d”,x*x+y*y); }

int error(int min,int max) {

if (max100) return(Great100); if (min<0) return(Less0); (3) ; } 15、给出如下程序的执行结果,并加以分析。 struct tree {

int x; char *y;

struct tree *tpi;

}t[ ]={{1,”pascal”,0},{3,”basic”,0}}; main()

{struct tree *p=t; char c,*s; s=++p—>y; printf(“%s\\n”,s); s=++p—>y; printf(“%s\\n”,s); c=*p—>y;

printf(“%c\\n”,c); c=*p++—>y; printf(“%c\\n”,c); c=*p—>y++; printf(“%c\\n”,c); c=(*p—>y)++; printf(“%c\\n”,c); }

搜索更多关于: 11第十一章结构体和联合体练习 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

}e; e.a=1;e.b=2; e.in.x=e.a*e.b; e.in.y=e.a+e.b; printf(“%d,%d\\n”,e.in.x,e.in.y); } 10、以下程序的执行结果是 。 #include main() { union u { char * name; int age; int income; }s; s.name=”WANGLING”; s.age=28; s.income=1000; printf(“%d\\n”,s.age); } 11、以下程序中使用一个结构体变量表示一个复数,然后进行复数加法和乘法运算。根据复数的定义,其代数式为:A=a+bi,则:复数的加法定义为: (a+bi

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com