C语言程序课程设计

发布 2022-10-03 04:08:28 阅读 6665

c语言程序设计课程设计。

专业: 电气工程及其自动化

班级。姓名。

学号。指导教师。

兰州交通大学自动化与电气工程学院。

2013 年 7月 18 日。

一基础题。1.1 题目。

编写一个程序,求3x4数组的转置矩阵。要求在main函数里读数,在change函数里把矩阵转置。

1.2 解题思路。

将数组名作为函数的参数,将原数组中的数行列互换放在另一空数组中实现矩阵转置,函数调用结束后,在主程序中输出已转置的矩阵。

1.3 流程图。yn

yn图1:基础题主函数流程图。yn

yny n

y n图2 change(a)函数流程图。

1.4 源程序:

#include<>

int b[4][3];

int main()

void change(int a[4]);

int a[3][4];

int i,j;

printf("请输入一个3*4的数组:");

for(i=0;i<3;i++)

for(j=0;j<4;j++)

scanf("%d",&a[i][j]);

change(a);

printf("新的数组为:");

for(i=0;i<4;i++)

for(j=0;j<3;j++)

printf("%5d",b[i][j]);

printf("");

return 0;

void change(int a[4])

int i,j;

for(i=0;i<4;i++)

for(j=0;j<3;j++)

b[i][j]=a[j][i];

1.5 调试报告:

变量定义时数组b未定义为全局变量,执行时输不出数值,经改动后正确。除此之外程序没有出现其他错误。

1.6 运行结果:

输入3*4数组后经调用函数后输出新的数组。

图3 基础题运行图。

二改错题。2.1 题目。

给定程序中,fun函数的功能是:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之积。请改正程序中的错误,或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

程序如下:#include <>

int fun ()

int a [3] [3], sum;

int i, j;

for (i=0;i<3;i++)

for (j=0;j<3;j++)

scanf (〃d〃 a [i] [j]);scanf("%d", a[i][j]);

for (i=0; i<3; i++)

sum=sum*a[i] [i];

printf (〃sum=%dn〃, sum);

main ()

2.2 错误分析。

此程序中变量“sum”未赋初值,应在第六行横线处给“sum”赋初值1;且第十行的输入程序中,向数组中输入数据需要地址符,所以应在“a[i][j]”前面加上地址符“&”

2.3 流程图。

图4 改错题主函数流程图。

图5 改错题fun( )函数流程图。

2.4 原程序:

#include <>

int fun ()

int a [3] [3], sum;

int i, j;

for (i=0;i<3;i++)

for (j=0;j<3;j++)

scanf (〃d〃 a [i] [j]);scanf("%d", a[i][j]);

for (i=0; i<3; i++)

sum=sum*a[i] [i];

printf (〃sum=%dn〃, sum);

main ()

2.5 正确程序:

#include<>

int fun()

int a[3][3],sum;

int i,j;

sum=1;

for(i=0;i<3;i++)

for(i=0;i<3;i++)

sum=sum*a[i][i];

printf("sum=%dn",sum);

main()

fun();

2.6 调试报告:

改正错误后运行程序,执行时发现无法输出数值,检查发现第十行在数据输入时未加地址符,加入地址符后程序正确运行。

2.7 运行结果:

求主对角线乘积的程序运行结果如下:

图 6 改错题运行图。

三综合题 3.1 题目。

一、问题描述:

对一个有n个学生的班级,每个学生有m门课程。该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。

二、功能要求:

1. 本系统采用一个结构体数组,每个数据的结构应当包括:学号、姓名、m门课程名称。

2. 本系统显示这样的菜单:

请选择系统功能项:

a、 成绩录入。

b、 成绩显示。

c、 成绩保存。

d、 成绩排序。

e、 成绩修改(要求先输入密码)

f、 成绩统计。

1) 显示每门课程成绩最高的学生的基本信息。

2) 显示每门课程的平均成绩。

3) 显示超过某门课程平均成绩的学生人数。

g、 退出系统。

3. 执行一个具体的功能之后,程序将重新显示菜单。

4. 将学生成绩保存到文件中。

三、算法提示:

1、 数据结构:结构体类型数组。

2、 数据库结构:下表构成该系统的基本数据库。

四、测试数据:

学生人数n=10,课程数m=4。

五、其它:对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。

3.2 解题思路。

建立一个学生信息的结构体,里面包含学号、姓名、性别、年龄、备注。设立主函数void main(),利用无限次循环例如if()while()和switch()语句实现各函数的调用,系统根据输入的数字选项来调用相应的函数;然后做出相应的子函数,如①输出函数void print()、密码验证函数bool check()、录入函数void getinfo()、显示函数void display()、保存函数void s**e()、修改函数void modify()、删除函数void delete()、查询函数void search()八个子函数。

子函数的功能有:①输出函数:打印基本信息控制系统的输入输出;②密码验证函数:

验证密码;③录入函数:用来录入学生的基本信息;④显示函数:把录入的学生基本信息直观的显示在桌面上;⑤保存函数:

可以保存学生信息;⑥删除函数:可以删除学生的错误信息;⑦修改函数:可以修改旧的信息,需要输入密码;⑧查询函数:

利用switch语句根据数字选项按照学号、性别、姓名、年龄进行查询。

3.3 流程图:

图7 综合题主函数流程图

图8 output函数流程图:

3.3 源程序:

#include<>

#include<>

#include<>

#define n 10学生人数*/

#define m 4课程数*/

#define pass 890508 /*修改密码*/

void input成绩输入*/

void output成绩显示*/

void s**e成绩保存*/

void rank成绩排序*/

void change成绩修改*/

C语言程序课程设计

重庆理工大学。课程设计。课程 c语言程序设计课程设计 题目职工信息管理系统设计。院系名称数学与统计学院。班级 110010101 学生姓名杨秋燕学号 11001010128 指导教师陈媛李娅。评阅教师。时间 2011 6 23 1 问题描述。5 1题目一 职工信息管理系统设计。职工信息包括职工号 姓...

C语言程序课程设计

作者 panhongliang 仅供个人学习。c语言程序设计。课程设计报告。完成任务 1 用二分法求方程根。2 矩阵求逆。3 链表制作。4 二十四点游戏。5 学籍管理程序。专业 计算机科学与技术。班级 计二班。学号 0705010225 姓名 李海波。本人于2008年9月1号在计算机中心6号机房25...

C语言程序课程设计

题目 院 系 计算机科学与工程学院。学科专业 网络工程 学生 潘佳伟。学号 090612110 指导教师 梁晨。2009年12月。目录。1课程设计的题目3 2课程设计的目的 设计要解决的问题 3 3概要设计 函数划分 总体设计4 4详细设计 流程图 程序5 5调试结果11 6课程设计总结11 7心得...