1 / 17
文档名称:

大一C语言课程设计.doc

格式:doc   大小:451KB   页数:17页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

大一C语言课程设计.doc

上传人:63229029 2017/2/3 文件大小:451 KB

下载得到文件列表

大一C语言课程设计.doc

文档介绍

文档介绍:评语: C语言课程设计报告班级: 电气 1004 学号: 201009334 姓名: 雷海燕指导教师: 王果 2011 年 07月 18日自动化与电气工程学院 C语言课程设计-1- 1 基本题目 题目 题目有 17 个人围成一圈,从 0 号的人开始报数,凡报到 3 的倍数的人离开圈子,然后再数下去。直到最后只剩下一个人为止。问此人原来的位置是多少号。 题目分析创建一个指针变量,指针变量中的初值为 0至16 。然后通过 for 循环将指针变量中所指的值是三的倍数的变量赋值为 0,最后找出所要找的值。 程序#include <> #define N 17 int main() { int i,j,k,a[N+1],*p; for(i=0,p=a;p<=a+N;i++,p++) *p=i; p=a+1; k=N; for(i=0,j=1;k!=1;j++) { if(p>(a+N)) p=a+1; if(*p!=0) i++; if(i %3 ==0 &&i!=0 ){ *p=0;i=0;k --;} p++; } for(i=1;i<=N;i++) if(a[i]!=0) printf(" 最后留下的是%d\n",a[i]); return 0;} 流程图自动化与电气工程学院 C语言课程设计-2- 图 基本题目的流程图 Y YN Y N Y YY N 开始输出最后留下的值 i=0 p<=a+N *p=i, i++, p++ p=a+N i=0,p=a N=17 k!=1 p>a+N N k!=1 *p!=0 i++ i%3!=0 *p=0,i=0,k-- p++,j++ p=a+1, i=0, j=0 p++,j++ N i<=N N i++ 结束自动化与电气工程学院 C语言课程设计-3- 程序的运行结果基本体运行结果如图 所示: 图 基本题目运行结果 2 改错题目 改正后程序#include <> int main() { int x=1; int y; y=x++; printf("y=%d ",y); int z; z=++x; printf("z=%d\n",z) return 0;} 程序运行结果程序完成的功能:用 x的初始值算出 y与z的值。改正后的运行结果如图 所示: 自动化与电气工程学院 C语言课程设计-4- 图 改正后的运行结果 3. 综合题目 题目班级成绩管理系统,对一个有 N个学生的班级,每个学生有 M门课程。该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。 程序的主要功能本程序实现对一个班学生某几门课程的录入,成绩的显示、成绩的保存、对成绩进行排、对成绩进行修改、对成绩进行统计(包括每门课程的最高分、平均分、超过每门平均分的人数等),运行程序后退出程序。 各函数的功能(1)input 函数利用嵌套循环语句,实现对 N位学生, M门课程的输入。(2)output 函数实现对先前输入学生成绩的输出。(3)save 函数将输入数据存入指定文件中。(4)rank 函数计算出所有学生的成绩总分,并按照分数从高到低,进行输出。(5)change 函数判断密码是否正确,并对选中学生成绩进行修改。 程序流程图自动化与电气工程学院 C语言课程设计-5-图 综合题目的流程图'G'或'g' 'F'或'f''E'或'e''D'或'd''C'或'c' N N N i<=M Y N 'B'或'b' 'A'或'a' 开始输入 x N Y i= 输入科目名输入学生姓名输入学号 i=0 i++ i<M i<N i++ 输入成绩 Y i=0 输出科目名 i++ i=0 输出姓名、学号 j=0 输出成绩 j++ j<M i++ i<N Y Y 将数据存入指定文件利用 for 循环,对每一位学生算出成绩总分利用 for 循环,将学生按成绩从高到低输出 W hile (1) 结束 R etur n 0, 即退出系统利用 tran 函数,进行加密码, 修改学生成绩。详见图 5 利用 coun 函数,进行对学生成绩的统计详见图 6 自动化与电气工程学院 C语言课程设计-6- 源程序#include<> #include<> #include<> #define N 10 /* 学生人数*/ #define M4 /* 课程数*/ #define PASS 890508 /* 修改密码*/ void input(); /* 成绩输入*/ void output(); /* 成绩显示*/ void save(); /