程序设计基础—C语言,科学出版社
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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);