没有合适的资源?快使用搜索试试~ 我知道了~
C语言程序设计(第3版)何钦铭颜晖第9章结构.doc
0 下载量 22 浏览量
2023-07-05
13:05:42
上传
评论
收藏 45KB DOC 举报
温馨提示
试读
12页
C语言程序设计(第3版)何钦铭颜晖第9章结构.doc
资源推荐
资源详情
资源评论
.
实用文档.
第 9 章 结构
【练习 9-1】定义一个能够表示复数的结构类型,一个复数包括实数与虚数两个
局部。
解答:
struct complex{
float real;
float imaginary;
};
【练习 9-2】人的出生日期由年、月、日组成,请在例 9-1 中的通讯录结构中增
加一个成员:出生日期,用嵌套定义的方式重新定义该结构类型。
解答:
struct date{
int year;
int month;
int day;
};
struct student{
int num;
char name[10];
struct date birthday;
int computer,english,math;
double average;
};
【练习 9-3】例 9-1 中,如果要计算的是三门课程的课程平均成绩,应该如何改
写程序?
解答:
#include<stdio.h>
struct student{
int num;
char name[10];
int computer,english,math;
double average;
};
int main(void)
{
int i, n;
double math_sum,english_sum,computer_sum;
struct student s1;
printf("Input n:");
scanf("%d", &n);
.
实用文档.
printf("Input the student's number, name and course scores:\n");
math_sum=english_sum=computer_sum=0;
for(i=1;i<=n;i++){
printf("No.%d:",i);
scanf("%d%s%d%d%d",&s1.num,s1.name,&s1.math,&s1.english,&s1
puter);
math_sum+=s1.math;
english_sum+=s1.english;
computer_sum+=s1 puter;
}
printf("math_ave:%.2lf\nenglish_ave:%.2lf\ncomputer_ave:%.2lf\n",
math_sum/n,english_sum/n,computer_sum/n);
return 0;
}
【练习 9-4】定义一个包含 5 名学生信息的结构数组,并对该结构数组的所有元
素进行初始化。
解答:
struct student{
int num;
char name[10];
int computer, english, math;
};
struct student s[5]={{30101, "张一",69,75,84 },{30132, "李二",80,85
,90},{40231, "王三",71,91,74},{40754, "赵四",65,76,87},{50426, "刘五",
81,92,73}};
【练习 9-5】参考例 9-2,输入并保存 10 个学生的成绩信息,分别输出平均成
绩最高和最低的学生信息。
解答:
#include<stdio.h>
struct student{
int num;
char name[10];
int computer,english,math;
double average;
};
int main(void)
{
int i,n,max,min;
struct student students[50];
printf("Input n:");
scanf("%d",&n);
.
实用文档.
for(i=0;i<n;i++){
printf("Input the info of No.%d:\n",i+1);
printf("number:");
scanf("%d",&students[i].num);
printf("name:");
scanf("%s",&students[i].name);
printf("math score:");
scanf("%d",&students[i].math);
printf("english score:");
scanf("%d",&students[i].english);
printf("computer score:");
scanf("%d",&students[i] puter);
students[i].average=(students[i].math+students[i].english+stu
dents[i] puter)/3.0;
}
max=min=0;
for(i=1;i<n;i++){
if(students[max].average<students[i].average) max=i;
if(students[min].average>students[i].average) min=i;
}
printf("max_average_infortmation:\n");
printf("number:%d,name:%s,math:%d,english:%d,computer:%d,average:
%.2lf\n",students[max].num,students[max].name,students[max].math,stud
ents[max].english,students[max] puter,students[max].average);
printf("min_average_information:\n");
printf("number:%d,name:%s,math:%d,english:%d,computer:%d,average:
%.2lf\n",students[min].num,students[min].name,students[min].math,stud
ents[min].english, students[min] puter, students[min].average);
return 0;
}
【练习 9-6】定义一个 struct student 类型的结构指针,用其实现一个学生信
息的输入和输出。
解答:
struct student{ /* 学生信息结构定义 */
int num; /* 学号 */
char name[10]; /* 姓名 */
int computer, english, math ; /* 三门课程成绩 */
double average; /* 个人平均成绩 */
}s, *p;
p = &s;
scanf("%d%s%d%d%d", &p->num, p->name, &p->math, &p->english,
&p->computer);
【练习 9-7】改写例 9-3 中的函数 update_score( ),将第一个形参改为结构数
剩余11页未读,继续阅读
资源评论
matlab大师
- 粉丝: 2379
- 资源: 9万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功