大一C语言课程设计(共17页).doc
《大一C语言课程设计(共17页).doc》由会员分享,可在线阅读,更多相关《大一C语言课程设计(共17页).doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上C语言课程设计报告班 级: 电气1004 学 号: 姓 名: 雷海燕 指导教师: 王果 评语: 2011 年 07 月 18 日1 基本题目1.1题目1.1 题目有17个人围成一圈,从0号的人开始报数,凡报到3的倍数的人离开圈子,然后再数下去。直到最后只剩下一个人为止。问此人原来的位置是多少号。1.2 题目分析创建一个指针变量,指针变量中的初值为0至16。然后通过for循环将指针变量中所指的值是三的倍数的变量赋值为0,最后找出所要找的值。1.3 程序#include #define N 17int main()int i,j,k,aN+1,*p;for(i=0,p=a
2、;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(ai!=0)printf(最后留下的是%dn,ai);return 0;1.4流程图 开始i=0,p=a N=17 i=0 pa+NNNp=a+NY*p!=0Ni+Yi%3!=0NY*p=0,i=0,k-p+,j+p+,j+ i=NY输出最后留下的值Ni+ 结束图1.1 基本题目的流程图1.5程序的运行结果 基本体运行结果如图1.2所示:图1.2 基本题目运行结果2 改错题目2.1 改正后程序#include int main()int x=1; in
3、t y;y=x+;printf(y=%d ,y);int z;z=+x;printf(z=%dn,z)return 0;2.2 程序运行结果程序完成的功能:用x的初始值算出y与z的值。改正后的运行结果如图2.1所示: 图2.1 改正后的运行结果3.综合题目3.1 题目班级成绩管理系统,对一个有N个学生的班级,每个学生有M门课程。该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。3.2 程序的主要功能本程序实现对一个班学生某几门课程的录入,成绩的显示、成绩的保存、对成绩进行排、对成绩进行修改、对成绩进行统计(包括每门课程的最高分、平均分、超过每门平均分的人数等),运行程序后退出程序
4、。3.3 各函数的功能(1)input函数利用嵌套循环语句,实现对N位学生,M门课程的输入。(2)output函数实现对先前输入学生成绩的输出。(3)save函数将输入数据存入指定文件中。(4)rank函数计算出所有学生的成绩总分,并按照分数从高到低,进行输出。(5)change函数判断密码是否正确,并对选中学生成绩进行修改。3.4程序流程图 开始输入 xA或aB或bF或fi=0i=0C或cD或dE或eG或g输出科目名利用for循环,对每一位学生算出成绩总分输入科目名将数据存入指定文件Y利用coun函数,进行对学生成绩的统计详见图6 i+i+YReturn 0,即退出系统i=M利用tran函数
5、,进行加密码,修改学生成绩。详见图5 iMNNi=0i=0输出姓名、学号利用for循环,将学生按成绩从高到低输出输入学生姓名j=0输出成绩输入学号Yj+YY输入成绩jMNi+i+iNiNNNWhile (1) 结束 图3.1 综合题目的流程图3.4 源程序 #include#include#include#define N 10/*学生人数*/#define M 4/*课程数*/#define PASS /*修改密码*/void input();/*成绩输入*/void output();/*成绩显示*/void save();/*成绩保存*/void rank();/*成绩排序*/void
6、tran();/*成绩修改*/void coun();/*成绩统计*/void errorinput();/*出错输出*/struct student/*成绩数据结构体*/char name10;int num;float scoreM;double sum;studN;char subject_nameN10;int main()char x;while(1) system(cls);printf( _n);printf( * 班级成绩管理系统 *n);printf( * *n);printf( * A 成绩录入 *n);printf( * *n);printf( * B 成绩显示 *n);
7、printf( * *n);printf( * C 成绩保存 *n);printf( * *n);printf( * D 成绩排序 *n);printf( * *n);printf( * E 成绩修改 *n);printf( * *n);printf( * F 成绩统计 *n);printf( * *n);printf( * G 退出系统 *n);printf( * *n);printf( _n);printf( 输入你的选择:);scanf(%c,&x);switch(x)case a:case A:input();break; case b:case B:output();break; c
8、ase c:case C:save();break; case d:case D:rank();break; case e:case E:tran();break; case f:case F:coun();break; case g:case G:return 0; default:errorinput();break;getchar();return 0;void input()/*成绩输入*/int i,j;printf(请输入科目名称:n);for(i=0;iM;i+)/*输入科目名称*/printf(科目%d:,i+1);scanf(%s,subject_namei);for(i=0
9、;iN;i+)/*输入学生信息、各科成绩*/printf(学生%d:n,i+1);printf(姓名:);scanf(%s,&studi.name);printf(学号:);scanf(%d,&studi.num);for(j=0;jM;j+)printf(%s成绩:,subject_namej);scanf(%f,&studi.scorej);printf(n);void output()/*成绩显示*/int i,j;system(cls);printf(姓名 学号 );for(i=0;i=M;i+)printf( %s,subject_namei); /*在一行里面输出科目名称,相互之间
10、有间隔。作为其下列表的目录。*/printf(n);for(i=0;iN;i+)printf(%1st%1dt,studi.name,studi.num);for(j=0;jM;j+)printf(%5.1ft,studi.scorej);printf(n);printf( !输入任意键返回!n);getchar();void save() /*成绩保存*/FILE *fp;int i,j;if(fp=fopen(data.txt,w)=NULL) /*文件打开*/printf(File open error!n);return;for(i=0;iM;i+) /*写入各科目名称*/fprint
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大一 语言 课程设计 17
限制150内