c语言程序设计实验报告
只是个例子,不可照抄。
实验内容与要求:
[实验内容]
1、通过本试验初步培养计算机逻辑解题能力。熟练掌握赋值语句和if语句的应用;掌握switch多路分支语句和if嵌套语句的使用
2、将前期所学习到的基本数据类型、运算符和表达式等程序设计基础知识运用于具体的程序设计。
3、进一步熟练掌握输入输出函数scanf, printf和getchar的使用,熟悉math.h中常用数学函数的使用方法
4、掌握循环语句的应用方法。
5、了解随机数生成函数。
[实验要求]
在规定期限独立完成实验内容
1、提交实验报告(电子版)
2、提交相应源程序文件(文件名 EX6_x姓名.c, 如EX6_1彭健.c)
3、要求从简单到复杂,后面的要求均在前面的基础上进行修改,前六题,每题均需要保留各自的程序,六题以后,每题均在前一题基础上修改,保留最后一个程序即可(如做到第九题,则保留EX6_9姓名.c,做到第11题,则保留ex6_11姓名.c)
二、实验原理和设计方案:
1、函数头的选则,while循环语句,switch(case)语句,条件表达式,if else条件语句,自增运算符,设置复杂变量,输出随机操作数。
2、变量要有分数变量和等级变量,要有选择算法题数的变量和计算正确与否的变量,要有随机输出的两个操作数变量和自己按运算符号输入结果的变量,最后还有判断是否要进行的变量字符。中间结果有选择运算符的switch()和分数等级的switch()和错题对题的自增和选择运算符计算的自增。
3、问题的分析方法:先考虑设置整形变量和字符变量,考虑到要不断循环计算,选择用while语句来循环。在循环体中,将前面的输出提示运算符,和自行选择运算符、答案及输出随机操作数完成。再用switch语句对选择的运算符进行判断,并用变量进行自增运算,计算出错题于对题个数和选择了那种运算符号。在循环体最后用if else语句来判断是否继续执行还是跳出循环。最后根据自增计算的结果和公式进行分数计算,并用switch语句来是想等级的制定。
三、源代码
#include
#include
#include
void main()
{
..........
}
四、试验结果和启发
因为输入y要继续循环,所以选择用while语句。在while语句中要结合前面的按提示计算,并嵌套switch语句并用条件表达式,来计算结果正确与否,计算的题型是什么。最后再用switch语句来完成分数等级的判断。
五、实验体会:
描述自己在编程或程序编译运行中遇到的难点和问题及解决的办法。
这个题目很简单!
你可以把我这个程序的输出部分修改一下(不修改也可以)
程序如下:
#include
#define STU_NUM 10//学生数目
#define SCORE_NUM 3//课程数目
typedef struct /*定义结构体数组*/
{
char num[20]; /*学号*/
char name[20]; /*姓名*/
float score[SCORE_NUM]; /*成绩*/
float total;//总分
float average;//平均分
} Student;
Student stu[STU_NUM];
//输入学生信息
void input()
{
int i,j;
printf("请输入%d个学生的信息:
",STU_NUM);
for(i=0;i<STU_NUM;i++)
{
printf("学号:");
scanf("%s",stu[i].num);
printf("姓名:");
scanf("%s",stu[i].name);
for(j=0;j<SCORE_NUM;j++)
{
printf("科目%d的成绩:",j+1);
scanf("%f",&stu[i].score[j]);
}
}
}
//输出学生信息
void output(void)
{
int i,j;
for(i=0;i<STU_NUM;i++)
{
printf("学生的信息如下:
");
printf("学号:%s
",stu[i].num);
printf("姓名:%s
",stu[i].name);
for(j=0;j<SCORE_NUM;j++)
{
printf("科目%d的成绩:%f
",j+1,stu[i].score[j]);
}
printf("总分:%f
",stu[i].total);
printf("平均分:%f
",stu[i].average);
}
}
//计算总分和平均分
void process()
{
int i,j;
for(i=0;i<STU_NUM;i++)
{
stu[i].total=0;
for(j=0;j<SCORE_NUM;j++)
{
stu[i].total+=stu[i].score[j];
}
stu[i].average=stu[i].total/SCORE_NUM;
}
}
//按总分进行排序(冒泡法)
void sort()
{
Student tStu;
int i,j;
for(i=0;i<STU_NUM;i++)
{
for(j=STU_NUM-1;j>i;j--)
{
if(stu[j].total>stu[j-1].total)
{
tStu=stu[j];
stu[j]=stu[i];
stu[i]=tStu;
}
}
}
}
main()
{
input();
process();
sort();
output();
}
1设计思想
1)、设定一个一维数组,可先按员工序号设定每位员工的工资
2)、利用While语句和Prinft语句完成用户菜单的设计
功能为:第1项 设为员工编号和工资数据
第2项 设为修改员工工资数据
第3项 设为查询员工工资数据
第4项 设为结束系统
3)、当用户选择1、2项时,需输入员工编号,所以需要设计编号校正功能,如果出错可输出“The error employe number”
4)、当选择2时,进行工资数据的修改,并将新数据存回该员工的工资数组中
5)、利用for循环中判断语句,将用户工资数与数组中的工资数进行比较,如相同则输出,将计数器加1,如此下去,直到把整个数组遍历一遍
6)、判断计数器是否为0, 是0表示找不到相符的工资,如果不为0,则输出共查出几比相符的工资
以上当然里面也涉及了“函数的模块化”理念,可以避免但需要重复打印头文件时重复编写打印信头的语句。像这样的程序是多见的,这样不但降低了程序还发效率,而且耗时浪费资源“共用体”的使用简化了程序的“复杂”性,正如(4)中,学号与姓名同时表示一个人,但在函数使用了“共用体”,从而程序的简单可以便于纠错,查找问题,避免了代码的重复,这样就给编译时带来了一定的难度与“量”的繁杂。一般不采取这样的做法,力求“简单、明了、清晰”。
慢慢来吧
#include<graphics.h>
#include<math.h>
#include<dos.h>
#define
pi
3.1415926
#define
X(a,b,c)
x=a*cos(b*c*pi/180-pi/2)+300;
#define
Y(a,b,c)
y=a*sin(b*c*pi/180-pi/2)+240;
#define
d(a,b,c)
X(a,b,c);Y(a,b,c);line(300,240,x,y)
void
init()
{int
i,l,x1,x2,y1,y2;
setbkcolor(1);
circle(300,240,200);
circle(300,240,205);
circle(300,240,5);
略……
#include<graphics.h>
#include<math.h>
#include<dos.h>
#define
pi
3.1415926
#define
X(a,b,c)
x=a*cos(b*c*pi/180-pi/2)+300;
#define
Y(a,b,c)
y=a*sin(b*c*pi/180-pi/2)+240;
#define
d(a,b,c)
X(a,b,c);Y(a,b,c);line(300,240,x,y)
void
init()
{int
i,l,x1,x2,y1,y2;
setbkcolor(1);
circle(300,240,200);
circle(300,240,205);
circle(300,240,5);
略……
#include<graphics.h>
#include<math.h>
#include<dos.h>
#define
pi
3.1415926
#define
X(a,b,c)
x=a*cos(b*c*pi/180-pi/2)+300;
#define
Y(a,b,c)
y=a*sin(b*c*pi/180-pi/2)+240;
#define
d(a,b,c)
X(a,b,c);Y(a,b,c);line(300,240,x,y)
void
init()
{int
i,l,x1,x2,y1,y2;
setbkcolor(1);
circle(300,240,200);
circle(300,240,205);
circle(300,240,5);
略……
#include<graphics.h>
#include<math.h>
#include<dos.h>
#define
pi
3.1415926
#define
X(a,b,c)
x=a*cos(b*c*pi/180-pi/2)+300;
#define
Y(a,b,c)
y=a*sin(b*c*pi/180-pi/2)+240;
#define
d(a,b,c)
X(a,b,c);Y(a,b,c);line(300,240,x,y)
void
init()
{int
i,l,x1,x2,y1,y2;
setbkcolor(1);
circle(300,240,200);
circle(300,240,205);
circle(300,240,5);
略……
c语言程序设计实验报告内容 c语言程序设计实验报告内容范文
11、知识不够广泛,如VC++6.0等程序,自己试了好一阵也不会用;说明我电脑水平还是不够,自学能力不够。已会的东西掌握的还是不够好。12、实验心得:通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。其间开心过、郁闷过、无奈过、彷徨过……随着实验的胜利成...
C语言程序设计实验报告
1,若程序定义为三行三列的矩阵,并在主函数中键盘赋值。请编写函数juzhen(int a[][3],int n),函数功能是:使矩阵左下角元素中的值乘以.例如:若矩阵中的值为:1 9 7 2 3 8 4 5 6 n=3,则矩阵值变为:1 9 7 6 9 8 12 15 18 注:二维数组下三角元素每行最后元素的列标和该列的...
c语言实验报告该怎么写?
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授...
C语言程序设计实验报告怎么写?
实验原理和设计方案:1、函数头的选则,while循环语句,switch(case)语句,条件表达式,if else条件语句,自增运算符,设置复杂变量,输出随机操作数。2、变量要有分数变量和等级变量,要有选择算法题数的变量和计算正确与否的变量,要有随机输出的两个操作数变量和自己按运算符号输入结果的变量,最后还...
c语言程序设计题。实验报告。高分。
c语言程序设计题。实验报告。高分。一、实习题目:1)运动会分数统计;任务:参加运动会有n个学校,学校编号为1……n.比赛分成m个男子项目,和w个女子项目.项目编号为男子1...m,女子m+1...m+w.不同的项目取前五名或前... 一、实习题目:1)运动会分数统计;任务:参加运动会有n个学校,学校编号为1……n.比赛...
c语言程序设计实验报告
1)、设定一个一维数组,可先按员工序号设定每位员工的工资 2)、利用While语句和Prinft语句完成用户菜单的设计 功能为:第1项 设为员工编号和工资数据 第2项 设为修改员工工资数据 第3项 设为查询员工工资数据 第4项 设为结束系统 3)、当用户选择1、2项时,需输入员工编号,所以需要...
C语言程序设计实验报告
int c_math[10],c_en[10],c_computer[10],point[10],average[10];int i,j,max;char c;void input(){ for(i=0;i<=9;i++) \/*输入学生成绩*\/ { printf("请输入学号:");scanf("%s",&stu_no[i]);printf("\\n请输入数学成绩:");scanf("%d",&c_math[i]);printf("\\n请...
C语言程序设计实验报告
main(){ int a;printf("ÇëÊäÈë³É¼¨£º\\n");scanf("%d",&a);if(90<=a&&a<=100) printf("A");if(80<=a&&a<=89) printf("B");if(70<=a&&a<=79) printf("C");if(60<=a&&a<=69) printf("D"...
求个C语言综合实验设计报告,包括设计题目,题目阐述及设计思路,主要知识...
总分:一、设计题目:C语言输出万年历 二、题目阐述及设计思路:C语言输出万年历,输入年份、月份,计算得到的是这一天是星期几;给定年,月,计算此月有多少天 。本程序运用的万年历的计算公式: d=a-1+(a-1)\/4-(a-1)\/100+(a-1)\/400+c; 其中a为年c为该日期在本年中的天数,d取整数,当...
C语言程序设计课程设计报告怎么写啊?有谁有样本吗?谢啦!
实 验 报 告 一 课 程 C语言程序设计 实验项目 C程序设计初步 成 绩 专业班级 学 号 指导教师 金发夏 姓 名 序 号 实验日期 一【实验目的】1. 了解使用VC++6.0的开发环境;2. 掌握在该系统上如何编辑、编译、连接和运行一个C程序;3. 通过运行简单的C程序,初步了解...
移邦奥复: 五、 课程设计小结心得体会1设计思想1)、设定一个一维数组,可先按员工序号设定每位员工的工资2)、利用While语句和Prinft语句完成用户菜单的设计 功能为:第1项 设为员工编号和工资数据 第2项 设为修改员工工资数据 第3项 设为查询员工...
历城区15020404115: c语言程序实验报告范文 - ?
移邦奥复: 晕报告也要人教啊,我教你写 一、程序主要功能∶ 某校规定,学习成绩超过全班平均成绩的%10者得第一等奖,学习成绩超过全班平均成绩的%5者得第二等奖,某班有30名学生,请编写一个c语言程序,实现下列功能: 1,输入全班学生成绩(学生用学号代表); 2,分别输出得一等奖和二等奖同学的学号和成绩. 二、程序设计说明:(算法设计思路与流程图) 在脑海中不知道怎么表达谢谢.三、实验结果与结论:我太聪明了怎么变态的题目都做出来了哈哈狂笑哈哈还是狂笑.四、实验中遇到的问题及解决方法:由于本人聪颖过人,程序未遇任何错误,有何不足之处还望不吝赐教.
历城区15020404115: c语言程序设计,实验报告 - ?
移邦奥复: 计 实验项目 C程序设计初步 成 绩 专业班级 学 号 指导教师 张耀文 姓 名 序 号 实验日期 一1. 了解使用VC++6.0的开发环境;2. 掌握在该系统上如何编辑、编译、连接和运行一个C程序;3. 通过运行简单的C程序,初步了解C源程序的特点;二 ...
历城区15020404115: C语言程序设计实验报告完整版(可追加分)?
移邦奥复: 举手之劳,帮你写了. 这里设定姓名长度不超过20字符.每个项目结束时,将其编号、类型符(区分取前3名还是前5名)输入,并按名次顺序输入运动员姓名、学校和成绩.程序已做改动,增加了一些代码以提高程序的健壮性.本题完整的c程...
历城区15020404115: 《C语言程序设计》实验报告 - ?
移邦奥复: #include "stdio.h"#define N 10 typedef struct {char name[20]; char xuehao[20]; int xuhao[5]; float shuxue[10]; float yingyu[10]; float jisuanji[10]; float sum[10]; float average[10]; }user; main() {user sp[N],temp; int i; printf("enter xinxi; \n"); for(i=0;i<N;...
历城区15020404115: c语言程序设计的实验报告怎么写呀? - ?
移邦奥复: 顺序是这样的:实验题目》》实验目的》》实验要求》》实验器材(当然写计算机了)》》实验流程图(就画那些什么平行四边形里写开始,椭圆形里写步骤的那种)》》实验步骤(写程序代码)》》结果分析(写详细些 比如写输入什么 输出了什么 如果结果有问题 你可以分析 比如因为循环次数少导致的或怎么样)
历城区15020404115: C语言的实验报告如何写? - ?
移邦奥复: 实验目的:1.初识VC++6.0上机环境,学会建立工程、建立单文件和多文件程序,正确进行编译、链接并运行程序,查找并修改简单的语法错误; 2.通过编程熟悉C语言源程序的编程风格,正确进行源代码的单行注释. 3.掌握用const定义符号常量以及定义内联函数,比较与普通宏定义的区别. 实验内容:看看你自己要做什么实验,根据实验,把题目写上去就行了. 实验操作:把程序写上去. 实验仪器:VC++6.0 PC机 实验结论:运行出结果,写上去就行了.
历城区15020404115: C语言 帮我编个实验报告吧 优秀报告追加满分?
移邦奥复: 一·实验目的 1.了解C语言的基本结构与编写; 2.能够在程序中打开原本设定的文件; 3.学会函数的调用; 4.调试函数,能够得到原先设计函数的要求. 二·实验题目 就是老师给的题目 三·实验步骤 就是你的代码 四,实验体会与总结 通过本...
历城区15020404115: C语言实验报告格式?
移邦奥复: 计算机工程技术学院(软件学院) 实 验 报 告 专业 001 软件技术001 班级 001 成绩评定 学号 01姓名 01 教师签名 02 实验 二 题目 选择结构与循环结构程序设计 第 三 周星期 一、实验目的与要求(此栏实验前由老师填写) 二、实验环境及方案 四、思考题 1、选择结构有哪几种形式? 2、循环语句有哪几种结构? 五、实验结果 六.心得体会