大一C语言课程设计Word格式.docx
- 文档编号:14112902
- 上传时间:2022-10-18
- 格式:DOCX
- 页数:20
- 大小:585.73KB
大一C语言课程设计Word格式.docx
《大一C语言课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《大一C语言课程设计Word格式.docx(20页珍藏版)》请在冰豆网上搜索。
inti,j,k,a[N+1],*p;
for(i=0,p=a;
p<
=a+N;
i++,p++)
*p=i;
p=a+1;
k=N;
for(i=0,j=1;
k!
=1;
j++)
if(p>
(a+N))
if(*p!
=0)
i++;
if(i%3==0&
&
i!
*p=0;
i=0;
k--;
}
p++;
for(i=1;
i<
=N;
i++)
if(a[i]!
printf("
最后留下的是%d\n"
a[i]);
return0;
流程图
图基本题目的流程图
程序的运行结果
基本体运行结果如图所示:
图基本题目运行结果
2改错题目
改正后程序
intx=1;
inty;
y=x++;
y=%d"
y);
intz;
z=++x;
z=%d\n"
z)
程序运行结果
程序完成的功能:
用x的初始值算出y与z的值。
改正后的运行结果如图所示:
图改正后的运行结果
3.综合题目
班级成绩管理系统,对一个有N个学生的班级,每个学生有M门课程。
该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。
程序的主要功能
本程序实现对一个班学生某几门课程的录入,成绩的显示、成绩的保存、对成绩进行排、对成绩进行修改、对成绩进行统计(包括每门课程的最高分、平均分、超过每门平均分的人数等),运行程序后退出程序。
各函数的功能
(1)input函数
利用嵌套循环语句,实现对N位学生,M门课程的输入。
(2)output函数
实现对先前输入学生成绩的输出。
(3)save函数
将输入数据存入指定文件中。
(4)rank函数
计算出所有学生的成绩总分,并按照分数从高到低,进行输出。
(5)change函数
判断密码是否正确,并对选中学生成绩进行修改。
程序流程图
图综合题目的流程图
源程序
#include<
#include<
#defineN10/*学生人数*/
#defineM4/*课程数*/
#definePASS890508/*修改密码*/
voidinput();
/*成绩输入*/
voidoutput();
/*成绩显示*/
voidsave();
/*成绩保存*/
voidrank();
/*成绩排序*/
voidtran();
/*成绩修改*/
voidcoun();
/*成绩统计*/
voiderrorinput();
/*出错输出*/
structstudent/*成绩数据结构体*/
charname[10];
intnum;
floatscore[M];
doublesum;
stud[N];
charsubject_name[N][10];
charx;
while
(1)
{
system("
cls"
);
printf("
________________________________________________________\n"
***班级成绩管理系统***\n"
******\n"
***A[成绩录入]***\n"
***B[成绩显示]***\n"
***C[成绩保存]***\n"
***D[成绩排序]***\n"
***E[成绩修改]***\n"
***F[成绩统计]***\n"
***G[退出系统]***\n"
输入你的选择:
"
scanf("
%c"
&
x);
switch(x)
{
case'
a'
:
case'
A'
input();
break;
case'
b'
B'
output();
c'
C'
save();
d'
D'
rank();
e'
E'
tran();
f'
F'
coun();
g'
G'
default:
errorinput();
}
getchar();
}
return0;
voidinput()/*成绩输入*/
inti,j;
printf("
请输入科目名称:
\n"
for(i=0;
M;
i++)/*输入科目名称*/
科目%d:
i+1);
%s"
subject_name[i]);
N;
i++)/*输入学生信息、各科成绩*/
学生%d:
姓名:
stud[i].name);
学号:
%d"
stud[i].num);
for(j=0;
j<
printf("
%s成绩:
subject_name[j]);
scanf("
%f"
stud[i].score[j]);
voidoutput()/*成绩显示*/
姓名学号"
=M;
%s"
/*在一行里面输出科目名称,相互之间有间隔。
作为其下列表的目录。
*/
%1s\t%1d\t"
stud[i].name,stud[i].num);
%5.1f\t"
stud[i].score[j]);
!
输入任意键返回!
getchar();
voidsave()/*成绩保存*/
FILE*fp;
if((fp=fopen("
"
w"
))==NULL)/*文件打开*/
Fileopenerror!
return;
i++)/*写入各科目名称*/
fprintf(fp,"
%s"
fprintf(fp,"
i++)/*写入学生数据、成绩信息*/
%5s%5d"
fprintf(fp,"
%6.1f"
if(fclose(fp))/*文件关闭*/
Cannotclosethefile!
Filesavesucceed!
return;
voidrank()/*成绩排序*/
voidswap(int*px,int*py);
int*a;
a=newint[N];
doubletot;
i++)/*循环计算总分*/
a[i]=i;
for(j=0,tot=0;
tot=tot+stud[i].score[j];
stud[i].sum=tot;
i++){
N-i-1;
if(stud[a[j]].sum<
stud[a[j+1]].sum)
swap(&
a[j],&
a[j+1]);
学号姓名总分\n"
%d\t%s\t%.1f\n"
stud[a[i]].num,stud[a[i]].name,stud[a[i]].sum);
delete[]a;
!
输入任意键退出!
voidswap(int*px,int*py)
intt;
t=*px;
*px=*py;
*py=t;
voidtran()/*成绩修改*/
charch[10],flag='
Y'
;
请输入密码:
um)
break;
if(i==N)
if(num==0)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大一 语言 课程设计