#include <stdio.h>
int main()
{void avsco(float *,float *);
void avcour1(char (*)[10],float *);
void fali2(char course[5][10],int num[],float *pscore,float aver[4]);
void good(char course[5][10],int num[4],float *pscore,float aver[4]);
int i,j,*pnum,num[4];
float score[4][5],aver[4],*pscore,*paver;
char course[5][10],(*pcourse)[10];
printf("input course:\n");
pcourse=course;
for (i=0;i<5;i++)
scanf("%s",course[i]);
printf("input NO. and scores:\n");
printf("NO.");
for (i=0;i<5;i++)
printf(",%s",course[i]);
printf("\n");
pscore=&score[0][0];
pnum=&num[0];
for (i=0;i<4;i++)
{scanf("%d",pnum+i);
for (j=0;j<5;j++)
scanf("%f",pscore+5*i+j);
}
paver=&aver[0];
printf("\n\n");
avsco(pscore,paver); // 求出每个学生的平均成绩
avcour1(pcourse,pscore); // 求出第一门课的平均成绩
printf("\n\n");
fali2(pcourse,pnum,pscore,paver); // 找出2门课不及格的学生
printf("\n\n");
good(pcourse,pnum,pscore,paver); // 找出成绩好的学生
return 0;
}
void avsco(float *pscore,float *paver) // 求每个学生的平均成绩的函数
{int i,j;
float sum,average;
for (i=0;i<4;i++)
{sum=0.0;
for (j=0;j<5;j++)
sum=sum+(*(pscore+5*i+j)); //累计每个学生的各科成绩
average=sum/5; //计算平均成绩
*(paver+i)=average;
}
}
void avcour1(char (*pcourse)[10],float *pscore) // 求第一课程的平均成绩的函数
{int i;
float sum,average1;
sum=0.0;
for (i=0;i<4;i++)
sum=sum+(*(pscore+5*i)); //累计每个学生的得分
average1=sum/4; //计算平均成绩
printf("course 1:%s average score:%7.2f\n",*pcourse,average1);
}
void fali2(char course[5][10],int num[],float *pscore,float aver[4])
// 找两门以上课程不及格的学生的函数
{int i,j,k,labe1;
printf(" ==========Student who is fail in two courses======= \n");
printf("NO. ");
for (i=0;i<5;i++)
printf("%11s",course[i]);
printf(" average\n");
for (i=0;i<4;i++)
{labe1=0;
for (j=0;j<5;j++)
if (*(pscore+5*i+j)<60.0) labe1++;
if (labe1>=2)
{printf("%d",num[i]);
for (k=0;k<5;k++)
printf("%11.2f",*(pscore+5*i+k));
printf("%11.2f\n",aver[i]);
}
}
}
void good(char course[5][10],int num[4],float *pscore,float aver[4])
// 找成绩优秀学生(各门85以上或平均90分以上)的函数
{int i,j,k,n;
printf(" ======Students whose score is good======\n");
printf("NO. ");
for (i=0;i<5;i++)
printf("%11s",course[i]);
printf(" average\n");
for (i=0;i<4;i++)
{n=0;
for (j=0;j<5;j++)
if (*(pscore+5*i+j)>85.0) n++;
if ((n==5)||(aver[i]>=90))
{printf("%d",num[i]);
for (k=0;k<5;k++)
printf("%11.2f",*(pscore+5*i+k));
printf("%11.2f\n",aver[i]);
}
}
}
免费谭浩强C语言程序设计(第五版)习题答案.zip

《谭浩强C语言程序设计(第五版)》是一本深受初学者喜爱的C语言教材,它以其浅显易懂的语言和丰富的实例,为初学者提供了全面的C语言学习资源。习题答案作为教材的重要组成部分,是检验学习效果、巩固知识的关键。这个压缩包包含了这本书的多个章节习题的答案,对于正在学习C语言的大一新生来说,是一个宝贵的参考资料。
我们来看看C语言的基础知识。C语言是一种结构化编程语言,它的语法简洁明了,但功能强大。基础包括变量、数据类型、运算符、控制结构(如if-else语句,switch-case语句,for、while、do-while循环)、函数的定义与调用、数组、指针等。这些基础知识在1-4章节中得到了详尽的讲解,并在习题中得以应用。例如,通过解决涉及运算符优先级的习题,学生可以深入理解C语言中的算术、比较和逻辑运算符。
接下来,章节5-6、8、9和11则进一步深入到更高级的主题。第5章和第6章通常涵盖结构体与联合体,这是C语言中处理复杂数据结构的方式。结构体允许我们将不同类型的数据组合在一起,而联合体则可以共享同一块内存。第8章和第9章讲解了指针的高级用法,如指针数组、函数指针以及动态内存分配,这些都是C语言强大的工具,但也是初学者常感困惑的地方。第11章则涉及到预处理器、文件包含、宏定义等内容,这些在编写大型程序时非常实用。
Exercises文件很可能是所有章节习题的集合,这里包含了各种类型的题目,包括基本概念的理解、代码编写、程序调试等,旨在帮助学生全面掌握C语言的各个知识点。通过解答这些习题,学生不仅可以熟悉C语言的基本语法,还能培养解决问题的能力和编程思维。
对于大一新生而言,C语言是编程入门的重要步骤,它能够打下坚实的编程基础,为后续学习其他高级语言和系统级编程奠定基石。《谭浩强C语言程序设计》的习题答案,就像是学习过程中的指南,引导学生逐步解开编程的奥秘,提升编程技能。
总结起来,这个压缩包包含的资源是学习C语言的重要辅助材料,它可以帮助初学者检验自己的学习成果,查漏补缺,提高编程能力。通过深入理解和实践这些习题,学生将逐步熟悉C语言的语法和逻辑,为未来的学习和职业发展铺平道路。

_Yusan
- 粉丝: 3
最新资源
- PCI总线和DSP芯片的图像处理平台的硬件设计.doc
- 中海达GPS数据处理软件包使用手册-(1).pptx
- TCL数字对讲智能家居系统持术介绍.pptx
- 2023年江苏省中小学教师网络法律竞赛试题.doc
- 信息化标准管理制度(2)(1).doc
- vSphere虚拟化技术介绍.ppt
- DB23_T_2732_2020_雏鹅多层网床饲养管理技术规程.pdf
- 第三章-中文数据库.ppt
- 软件公司技术中心人员管理制度模板(1).doc
- VB课程设计——企业人事信息管理系统.docx
- DTW算法原理分析与源码(可编辑修改word版).docx
- EXCEL函数培训教程PPT课件.ppt
- Excel表格通用模板:销售管理系统(带销售提成-销售订单).xlsx
- 第13课-MATLAB的图形处理.ppt
- 第10章:互联网与大学生心理健康.ppt
- JavaScript交互式网页设计模拟题库及答案(1).pdf