当前课程知识点:C语言程序设计(下) > 第三周:函数(三) > 3.2 编译预处理 > html
/*简单的学习成绩管理*/
#include<stdio.h>
#include<string.h>
#define N 5
float score[N][N]={{85,90,89,78},
{87,65,89,87},
{65,87,67,65},
{93,99,76,89},
{84,78,67,88}}; /*定义外部数组存储学习成绩*/
char name[N][10]={"wang","zhang","li","liu","zhao"}; /*定义外部数组存储学生姓名*/
float aver=0; /*定义外部变量存储一个学生的平均分*/
int main()
{ int a,num;
char name1[10];
void query(char name1[]); /*函数的说明*/
void average(); /*函数的说明*/
void browse(); /*函数的说明*/
printf("***************************\n");
printf(" 学习成绩管理系统 \n");
printf("***************************\n");
printf("1:通过姓名查询成绩\n");
printf("2:计算平均分\n");
printf("3:浏览\n");
printf("0:退出\n");
printf("请输入选项n:0--3\n");
do { scanf("%d",&a);
switch(a)
{ case 1:getchar();printf("\n请输入学生姓名:");
gets(name1);
query(name1); break;
case 2:printf("\n已经完成平均分计算!");
average(); break;
case 3:printf("\n所有同学成绩:\n");
browse(); break;
defaule: printf("Input error\n");}
}while(a!=0);
return 0;
}
void query(char name1[]) /*按姓名查询学生成绩*/
{ int i,j;
for(i=0;i<N;i++)
if(strcmp(name1,name[i])==0)
break;
printf("%10s:",name1);
for(j=0;j<N-1;j++)
printf("%5.0f",score[i][j] );
}
void average() /*计算每个学生的平均分*/
{ int i,j;
float sum;
for(i=0;i<N;i++)
{ for(sum=0,j=0;j<N-1;j++)
sum=sum+score[i][j];
aver=sum/(N-1);
score[i][N-1]=aver;
}
}
void browse( ) /*浏览所有学生的成绩*/
{int i,j;
for(i=0;i<N;i++)
{ printf("%10s:",name[i]);
for(j=0;j<N-1;j++)
printf("%5.0f",score[i][j]);
printf("%8.2f",score[i][N-1] );
printf("\n");
}
}
-1.1 函数定义
--内容简介
--函数是什么
--例题演示
--知识点总结
-1.1 函数定义--作业
-1.2 模块化程序设计
-1.3 函数调用、声明和返回
--函数调用的过程
--函数嵌套调用
-1.4 函数间参数传递
--形参与实参值传递
--小结
--html
-1.4 函数间参数传递--作业
-函数递归调用
--html
--html
--html
--html
--html
--html
-函数递归调用--作业
-3.1 变量存储属性
--开场
--局部变量全局变量
--存储类别小结
--html
--html
--html
--html
--html
-3.1 变量存储属性--作业
-3.2 编译预处理
--编译预处理开头
--编译预处理内容
--库函数
--函数总结
--综合例子
--html
-3.2 编译预处理--作业
-4.1 指针的定义、初始化和引用
--本周内容简介
-4.1 指针的定义、初始化和引用--作业
-4.2 指针与数组
--指针与数组
--Video
-4.2 指针与数组--作业
-5.1 指针与字符串
--本周开篇介绍
--指针与字符串
--指针与字符串小结
-5.1 指针与字符串--作业
-5.2 多维数组指针
--指针与多维数组
--html
--html
--html
--html
--html
--html
--html
--html
-5.2 多维数组指针--作业
-6.1指针与函数
--本周开篇介绍
--指针指向函数
--返回指针值的函数
--html
--html
--html
-6.1指针与函数--作业
-6.2指针与指针
--引入指针数组
--指针数组
--二级指针
--指针内容小结
--html
--html
--html
--html
-6.2指针与指针--作业
-7.1 结构的概念
--Video
--Video
--Video
--Video
--html
--html
-7.1 结构的概念--作业
-7.2 结构数组
--Video
--Video
--html
-7.2 结构数组--作业
-7.3 结构指针
--Video
--Video
--Video
--html
-7.3 结构指针--作业
-7.4 结构与函数
--Video
--html
-7.4 结构与函数--作业
-7.5 联合
--Video
--Video
--html
-7.5 联合--作业
-8.1 typedef自定义类型
--自定义类型
-8.1 typedef自定义类型--作业
-8.2 枚举类型
--枚举类型
-8.2 枚举类型--作业
-8.3 链表的概念
--为什么使用链表
--链表的定义和功能
-8.3 链表的概念--作业
-8.4 链表的基本操作
--创建链表的步骤
--创建链表的过程
--访问链表中的节点
--约瑟夫问题
--html
--html
-8.4 链表的基本操作--作业
-9.1 文件概述
--文件概念
--文件分类
-9.1 文件概述--作业
-9.2 文件型指针
--文件结构与指针
--设备文件
--html
-9.2 文件型指针--作业
-9.3 文件的打开与关闭
--文件读写方式
--文件读写操作
-9.3 文件的打开与关闭--作业
-9.4 文件的顺序读写
--字符串输入输出
--html
-9.4 文件的顺序读写--作业
-9.5 文件的随机读写
--文件随机读写
-9.5 文件的随机读写--作业
-9.6 文件检测
--文件检测
-9.6 文件检测--作业
-9.7 文件应用实例
--文件应用实例
--html
--html
-10.1 C语言知识总结
--程序调试概念
--软件测试方法
--程序跟踪调试
--C语言语法要点
--标识符及运算符
--程序设计流程
--数组、函数及指针
--结构和文件
-10.1 C语言知识总结--作业
-10.2 C语言练习
--程序设计方法
--图像合成例子
--html
-期末考试复习题
--html
-期末考试复习题答案
--html