班级:学号: 姓名:
指导教师:
年月日。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月 计算机科学与技...