c programming curriculum design
班级:学号:
课程设计人:
指导老师:完成时间:
内容提要。在这次课程设计中,我主要做了四个程序。其中包括两个基础要求题:
平方回文数和小孩吃梨问题,这是c语言的两个经典算法,运用了数组和迭代。此外,还有一个提高训练题:简易计算器的制作,以及一个综合题:
学生成绩管理系统。运用了子函数的调用和链表及文件的操作。在每个任务中,又介绍了实验的目的要求,任务的说明,程序的流程图或者功能结构图,详细的源程序**以及调试运行的具体情况。
在报告最后,还附上了课程设计体会和参考文献。
1.平方回文数4
1.1 实验目的。
1.2 任务说明。
1.3 算法框图。
1.4 程序**。
1.5 调试及运**况。
2.小孩吃梨问题6
2.1 实验目的。
2.2 任务说明。
2.3 提示。
2.4 算法框图。
2.5 程序**。
2.6 调试及运**况。
3.简易计算器8
3.1 实验目的。
3.2 任务说明。
3.3 算法框图。
3.4 程序**。
3.5 调试及运**况。
4.学生成绩管理系统14
4.1 实验目的。
4.2 任务说明。
4.3 系统总体设计。
4.3.1 系统总功能图。
4.3.2 主函数源程序**。
4.4 插入学生成绩子函数。
4.4.1 算法框图。
4.4.2 程序**。
4.5 改正学生信息子函数。
4.5.1 功能说明。
4.5.2 算法框图。
4.5.3 程序**。
4.6 查找学生信息子函数。
4.6.1 功能说明。
4.6.2 算法框图。
4.6.3 程序**。
4.7 删除学生信息子函数。
4.7.1 算法框图。
4.7.2 程序**。
4.8 其它部分及说明。
5.课程设计体会45
6.参考文献45
1.平方回文数。
1.1 实验目的:
练习基本的算法,熟悉程序结构。
1.2 任务说明:
求所有不超过200的n值,n的平方是具有对称性质的回文数。
回文数就是将一个数从左向右读和从右向左读是一样的,如满足题意要求的数有:n=11,112=121。
1.3 算法框图:
图1-1 找平方回文数的流程图。
1.4 程序**:
#include <>
void main()
int count,n,i,leap,array[5],num;
for(n=11;n<=200;n++)
while(num);
leap=0;
for(i=0;i开始判断平方数是否回文数*/
if(array[i]!=array[count-1-i])
if(!leap)
printf("");
1.5 调试及运**况:
屏幕输出:11 22 26 101 111 121
press any key to continue
2.小孩吃梨问题。
2.1 实验目的:
熟悉经典算法,学会使用基本的文件操作和迭代法。
2.2 任务说明:
小孩买了一些梨,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的梨吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半,并又多吃了一个。到第18天只剩下一个梨了,问小孩共买了多少梨?
2.3 提示:
根据初始条件,用倒推法,第十八天是一个,第十七天是2*(1+1)个,第三天是2*(4+1)个……依次类推。
2.4 算法框图:
图2-1 推算小孩吃梨个数。
2.5 程序**:
#include<>
main()
j=1;for(i=17;i>=1;i--)
j=(j+1)*2; /通过函数的迭代法进行计算*/
printf("一共有%d个梨",j);
fprintf(fp,"一共有%d个梨",j);
fclose(fp);
2.6 调试及运**况:
3.简易计算器
3.1 实验目的:
学会正确使用字符串和指针。
3.2 任务说明:
编写一个程序计算表达式:data1 op data2的值。其中,op为运算符+、-
3.3 算法框图:
图2-1 简易计算器的运行流程图。
3.4 程序**:
#include<>
#include<>
#include<>
char token[61存放表达式字符串的数组*/
int n=0;
void error(void报告错误函数*/
printf("error!");
exit(1);
void match(char expected) /检查字符匹配的函数*/
if(token[n]==expected)
token[++n]=getchar();
else error();
double term(void); 计算乘除的函数*/
double factor(void); 处理括号和数字的函数*/
double exp(void) /计算加减的函数*/
double temp=term();
while((token[ntoken[n]==
switch(token[n])
return temp;
double term(void)
double div;
double temp=factor();
while((token[ntoken[n]==
switch(token[n])
return temp;
double factor(void)
main()
3.5 调试及运**况:
4.学生成绩管理系统。
4.1 实验目的:
考查结构体数组、函数、指针、链表及文件等的综合应用。
4.2 任务说明:
有n个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:
1) 成绩录入,插入后按学号自动排序,创建链表;
2) 成绩文件的存取,创建链表;
3) 成绩的多种查询、修改;
4) 成绩的多种统计、排序;
5) 学生增加、删除、列表。
4.3 系统总体设计。
4.3.1 系统总功能图。
图4-1该系统的功能结构图。
4.3.2主函数源程序**。
switch(select)
case 1:add(l);break增加学生记录*/
C语言课程课程设计
课程设计报告。课程名称 c语言程序设计 系别 xxx 专业班级 xxx班 学号 xxxxxxxxxx 姓名 xxx 课程题目 10或100以内儿童加减乘除算术游戏。完成日期 2013.6.14 19 指导老师 xxx 2013年 6月 21日。附件 一 程序模块图。二 源程序。include inc...
C语言课程设计
目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。xx xx学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 课程类别 专业基础课。制订时间 2010年11月 计算机科学与技术系制。c语言程序课程设计教学...
C语言课程设计
目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。珠海学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 2010级计算机科学与技术系各专业。课程类别 专业基础课。制订时间 2010年11月 计算机科学与技...