word
word
- 0 - / 18
word
C语言课程设计报告
班 级: 电气1004
学 号: 201009334
姓 名: 雷海燕
指导教师: 王果
评语:
2011 年 07 月 18 日
word
word
- 1 - / 18
word
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;
}
word
word
- 2 - / 18
word
开始
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++
完毕
基此题目的流程图
word
word
- 3 - / 18
word
:
基此题目运行结果
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的值。
:
word
word
- 4 - / 18
word
改正后的运行结果
题目
班级成绩管理系统,对一个有N个学生的班级,每个学生有M门课程。该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。
程序的主要功能
本程序实现对一个班学生某几门课程的录入,成绩的显示、成绩的保存、对成绩进展排、对成绩进展修改、对成绩进展统计〔包括每门课程的最高分、平均分、超过每门平均分的人数等〕,运行程序后退出程序。
各函数的功能
〔1〕input函数
利用嵌套循环语句,实现对N位学生,M门课程的输入。
〔2〕output函数
实现对先前输入学生成绩的输出。
〔3〕save函数
将输入数据存入指定文件中。
〔4〕rank函数
计算出所有学生的成绩总分,并按照分数从高到低,进展输出。
〔5〕change函数
判断密码是否正确,并对选中学生成绩进展修改。
word
word
- 5 - / 18
word
开始
输入 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,
即退出系统
大一C语言课程设计 来自淘豆网m.daumloan.com转载请标明出处.