程序设计基础—C语言,科学出版社

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

程序设计基础——C语言

科学出版社

第六章——其他数据模型,教材习题答案。

东风冷雪

如果认为对自己不利那就离开。

你看了比没有看好,首先印象还是有的,如果自己不会你可能都不会写,结果就是什么也不做,老师讲解时效果也会降低。其次你不会可能上网查书也是为了寻找答案,这样浪费时间(可能影响深些)。

一份答案做起来不容易,合理利用不要全部抄复制,这样老师会发现。你可以修改啊!你可以排版的比我更加调理清楚。

1.0

#include

struct s

{

int x,*y;

} *p;

int date[]={10,20,30};

struct s array[]={100,&date[0],200,&date[1],300,&date[2]};

void main()

{

p=array;

printf("%d\n",++p->x);

printf("%d\n",++*p->y);

printf("%d\n",*++p->y);

}

/* p指向结构体数组array首地址即是&array[0].

(1)++p->x 中->运算符优先级大于++所以)p->x 结果是100++p->x =101。

(2)++*p->y中->运算符优先级大于++和*++和*同优先级别结合方向自右向左所以p->y=&date[0], *p->y=date[0]=10, ++*p->y=11。

(3)*++p->y中同理所以 p->y=&date[0], ++p->y=&date[1], *++p->y=date[1]=20. */

#include"stdio.h"

void main()

{

struct stuinf

{

char name[15];

int score;

}; //定义结构体类型

struct stuinf student;

printf("输入学生的姓名\n");

gets();

/*不要用scanf输入它遇到空格要结束。*/ printf("输入学生的分数\n");

scanf("%d",&student.score);

printf("\n%s\t%d\n",,student.score); }

3.0

#include

#define n 2

struct student

{

long int id; //这里的学号是数字

char name[10];

char sex;

int age;

float score;

};

typedef struct student stu; //重新命名,好操作。

void main()

{

stu s[n]; //定义结构体数组

int i,j;

float aveage,avescore;

int num1=0,num2=0,sumage=0,sumscore=0;

for(i=0;i

{

printf("输入第%d人学号:",i+1);

scanf("%ld",&s[i].id);

printf("输入第%d人的姓名:",i+1);

scanf("%s",s[i].name);

printf("请输入第%d人性别,如果男输入m,女输入f: ",i+1);

getchar(); //接受上次的回车,

scanf("%c",&s[i].sex);

//字符要取地址,字符串不用取地址符号。printf("输入第%d人的年龄:",i+1);

scanf("%d",&s[i].age);

printf("输入第%d人的成绩",i+1);

scanf("%f",&s[i].score);

printf("\n");

}

for(i=0;i

{

if(s[i].sex=='m') num1++;

else num2++;

sumage=sumage+s[i].age;

sumscore=sumscore+s[i].score;

}

aveage=sumage/n;

avescore=sumscore/n;

printf("班上男生:%d人女生:%d人\n",num1,num2); printf("平均年龄为:%.2f\n",aveage);

printf("平均成绩为:%.2f\n",avescore);

printf("\n成绩高于平均分的学生信息为:\n");

for(i=0;i

if(s[i].score>avescore)

printf("%ld, %s, %c,%d, %.2f",s[i].id,s[i].name,s[i].sex,s[i].age,s[i].score);

}

}

4.0

输入今天是星期几的序号(0~6代表星期天至星期六),给今天和昨天赋予枚举值,并输出昨天是星期几对应的枚举值。

#include

enum day{sun=0,mon=1,thu=2,wed=3,th=4,fri=5,sat=6};

void main()

{

enum day today ,yesterday;

int a;

printf("输入今天是星期几的序号:");

/* 06代表星期天至星期六*/

scanf("%d",&a);

相关文档
最新文档