C语言课程设计

发布 2022-09-30 17:47:28 阅读 4067

班级:学号: 姓名:

指导教师:

年月日。1基本题目。

1.1题目。

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

1.2题目分析。

创建一个change函数,指针参数,创建input函数对数组进行输入,创建output函数对3*4的数组进行转置。在main函数中,引用change函数,得到3*4数组的转置。

1.3流程图。

图1 基本题目的流程图。

1.4程序。

#include<>

int main()

void input(int a[4],int ,int );

void output(int *b,int ,int );

void change(int (*a)[4],int (*b)[3]);

int a[3][4],b[4][3];

int *s=&b[0][0];

printf("输入 3*4 数组:");

input(a,3,4);

change(a,b);

printf("数组的转置矩阵为:");

output(s,4,3); getchar();

return 0;

void input(int a[4],int n,int m)

int i,j;

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

void output(int *b,int n,int m)

int i,j;

for(i=0;i

void change(int (*a)[4],int (*b)[3])

int i,j;

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

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

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

1.5程序的运行结果

图2 基本题目运行结果。

2改错题目。

2.1原程序。

#include <>

#include <>

void; fun(char *p,char *q,char *c)——去分号

int k=1; —1改为0

while(*p!=*q) —改为 ||

if (*p<*q) c[k]=*q; —else c[k]=*p;

if (*p) p++;if (*q) q++;k++;

main()

char a[10]="abcdefgh",b[10]="abcd",c[80]=;

fun(a,b,c);

printf("the string a:")puts(a);

printf("the string b:")puts (b);

printf("the result:")puts(c);

2.2错误分析。

这个程序是比较两个字符串对应位处的字符的ascii码大小,并记下大的,形成另一个字符串。本程序的错误有:

a.第一行文件预处理命令中应为“

b.函数定义处“void”后面的“;”应该删去;

c.定义变量“k”时,对其赋的值应为“0”,而不是“1”;

循环中,循环条件应为”*p||*q”,而不是“*p!=*q”;

e.第一个if条件语句中,条件应该为“*p<=*q”;

f.定义字符变量数组c时,单引号中应为‘\0’;

2.3改正后的程序。

#include <>

#include <>

void fun(char *p,char *q,char *c)

int k=0;

while(*p||*q)

if (*p<=*q) c[k]=*q; else c[k]=*p;

if (*p) p++;if (*q) q++;k++;

main()

char a[10]="abcdefgh",b[10]="abcd",c[80]=;

fun(a,b,c);

printf("the string a:")puts(a);

printf("the string b:")puts (b);

printf("the result:")puts(c);

2.4程序运行结果。

图3 改正后的运行结果。

3综合题目。

3.1题目。

一、问题描述:

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

二、功能要求:

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

本系统显示这样的菜单:

请选择系统功能项:

a、 成绩录入。

b、 成绩显示。

c、 成绩保存。

d、 成绩排序。

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

f、 成绩统计。

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

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

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

g、 退出系统。

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

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

3.2 程序的主要功能。

本程序实现对一个班学生某几门课程的录入,成绩的显示、成绩的保存、对成绩进行排、,对成绩进行修改、对成绩进行统计(包括每门课程的最高分、平均分、超过每门平均分的人数等),运行程序后退出程序。

3.3程序流程图。

图4 综合题目的流程图。

3.4 各函数的功能。

1)input函数。

利用嵌套循环语句,实现对n位学生,m门课程的输入。

2)output函数。

实现对先前输入学生成绩的输出。

3)s**e函数。

将输入数据存入指定文件中。

4)rank函数。

计算出所有学生的成绩总分,并按照分数从高到低,进行输出。

5)change函数。

判断密码是否正确,并对选中学生成绩进行修改。

3.5程序。

#include<>

#include<>

#include<>

#include<>

#define n 10学生人数*/

#define m 4课程数*/

#define pass 890508修改密码*/

void output成绩显示*/

void s**e成绩保存*/

void rank成绩排序*/

void tran成绩修改*/

void coun成绩统计*/

void errorinput出错输出*/

struct student成绩数据结构体*/

char name[10]; int num;

float score[m]; double sum;

stud[n];

char subject_name[n][10];

int main()

char x;

while(1)

system("cls");

printfn");

printf班级成绩管理系统n");

printfn");

printfa成绩录入n");

printfn");

printfb成绩显示n");

printfn");

printfc成绩保存n");

printfn");

printfd成绩排序n");

printfn");

printfe成绩修改n");

printfn");

printff成绩统计n");

printfn");

printfg退出系统n");

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月 计算机科学与技...