文档介绍:C语言课程设计报告
班 级: 电气1004
学 号: 09334
姓 名: 雷海燕
指引教师: 王果
评语:
年 07 月 18 日
1 基本题目
题目
有17个人围成一圈,从0号人开始报数,凡报到3倍数人离开圈子,然后再数下去。直到最后只剩余一种人为止。问此人本来位置是多少号。
题目分析
创立一种指针变量,指针变量中初值为0至16。然后通过for循环将指针变量中所指值是三倍数变量赋值为0,最后找出所要找值。
程序
#include <>
#define N 17
int main()
{
int i,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))
p=a+1;
if(*p!=0)
i++;
if(i%3==0&&i!=0)
{
*p=0;i=0;k--;
}
p++;
}
for(i=1;i<=N;i++)
if(a[i]!=0)
printf("最后留下是%d\n",a[i]);
return 0;
}
开始
i=0,p=a N=17
i=0
p<=a+N
Y
N
*p=i,i++,p++
p=a+1,i=0,j=0
k!=1
k!=1
Y
p>a+N
N
N
p=a+N
Y
*p!=0
N
i++
Y
i%3!=0
N
Y
*p=0,i=0,k--
p++,j++
p++,j++
i<=N
Y
输出最后留下值
N
i++
结束
基本题目流程图
:
基本题目运营成果
2 改错题目
改正后程序
#include <>
int main()
{
int x=1;int y;
y=x++;
printf("y=%d ",y);
int z;
z=++x;
printf("z=%d\n",z)
return 0;
}
程序运营成果
程序完毕功能:用x初始值算出y与z值。
:
改正后运营成果
题目
班级成绩管理系统,对一种有N个学生班级,每个学生有M门课程。该系统实现对班级成绩录入、显示、修改、排序、保存等操作管理。
程序重要功能
本程序实现对一种班学生某几门课程录入,成绩显示、成绩保存、对成绩进行排、对成绩进行修改、对成绩进行记录(涉及每门课程最高分、平均分、超过每门平均分人数等),运营程序后退出程序。
各函数功能
(1)input函数
运用嵌套循环语句,实现对N位学生,M门课程输入。
(2)output函数
实现对先前输入学生成绩输出。
(3)save函数
将输入数据存入指定文献中。
(4)rank函数
计算出所有学生成绩总分,并按照分数从高到低,进行输出。
(5)change函数
判断密码与否对的,并对选中学生成绩进行修改。
开始
输入 x
'A'或'a'
'B'或'b'
'F'或'f'
i=0
i=0
'C'或'c'
'D'或'd'
'E'或'e'
'G'或'g'
输出
科目名
运用for循环,对每一位学生算出成绩总分
输入
科目名
将数据存入指定文献
Y
运用coun函数,进行对学生成绩记录
详见图6
i++
i++
Y
Return 0,
即退出系统
i<=M
运用tran函数,进行加密码,修改学生成绩。
详见图5
i<M
N
N
i=0
i=0
输出姓名、学号
运用for循环,将学