程序设计基础C语言科学出版社
程序设计基础——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(student.name);
/*不要用scanf输入它遇到空格要结束。*/
printf("输入学生的分数\n");
scanf("%d",&student.score);
printf("\n%s\t%d\n",student.name,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>aves