C程序设计实验报告2

C语言程序设计-实验报告2

实验目的:

1、 熟悉C语言基本程序结构

2、 掌握顺序、分支结构程序设计思想与代码编写方法

实验内容:

1、在D盘根目录,创建以自己姓名拼音命名的文件夹,并创建exp1命名的子文件夹,本次实验所有代码均保存于该字文件夹;

2、利用VC6编写代码,并运行、保存; 3、习题5.6 4、习题5.7 5、习题5.8 6、习题5.10 7、习题6.6 8、习题6.8 9、习题6.9 10、习题6.10

实验报告正文:

撰写要求:

1) 按实验内容逐个完成

2) 每个实验内容分别列出源代码 3) 每个实验内容分别展示其运行结果 4) 最后,总结本次实验的经验和教训

实验报告正文

3、习题5.6 给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。„„ 源代码如下: #include void main() { float grade; int t; printf("输入一百分制分数:\n"); scanf("%f",&grade); t=grade/10; printf("输入成绩等级为:"); switch(t) { case 10: case 9:printf("A\n");break; case 8:printf("B\n");break; case 7:printf("C\n");break; case 6:printf("D\n");break; default:printf("E\n");break; } }

运行结果如下:

4、习题5.7 给一个不多于5位的正整数,要求: 1) 求出它是几位数; 2) 分别输出每一位数字;

3) 按逆序输出各位数字,例如原数321,应输出123。 源代码如下: #include #include void main() { int num[6]; int count=0; int number,s; int i; printf("输入一个不多于5位的正整数:\n"); scanf("%d",&num);

}

while(number) { num[count]=n%10; count++; number=number/10; }

printf("%是一个%d位数。\n",count); printf("从高到低输出每一位数字:\n"); s=count; while(count>=1) { printf("%3d",num[count-1]); count--; }

printf("\n");

printf("逆序输出各位数字:\n"); for(i=0;i

printf("\n");

//将整数的位数保存在s中

运行结果如下:

5、习题5.8 企业发放的奖金根据利润提成。„„ 源代码如下: #include void main() { double I; double prize; double d1,d2,d3,d4,d5; int c; printf("请输入利润金额(以万为单位):\n"); scanf("%lf",&I); d1=10*0.1;

d2=d1+10*0.075;

//if语句编写程序

//利润,以万为单位 //奖金,以万为单位 //各阶段提成奖金数 //将利润范围缩小到0-10有限范围之内

d3=d2+20*0.05; d4=d3+20*0.03; d5=d4+40*0.015; c=I/10; if(c>=10) { prize=d5+(I-100)*0.01; } else if(c>=6) { prize=d4+(I-60)*0.015; } else if(c>=4) { prize=d3+(I-40)*0.03; } else if(c>=2) { prize=d2+(I-20)*0.05; } else if(c>=1) { prize=d1+(I-10)*0.075; } else { prize=I*0.1; } printf("利润为%lf万元,\n应发奖金为%lf万元\n",I,prize); }

运行结果如下:

源代码如下: #include void main() {

double I; double prize; double d1,d2,d3,d4,d5; int c;

//switch语句编写

//利润,以万为单位 //奖金,以万为单位 //各阶段提成奖金数 //将利润范围缩小到0-10有限范围之内

printf("请输入利润金额(以万为单位):\n"); scanf("%lf",&I); d1=10*0.1;

d2=d1+10*0.075; d3=d2+20*0.05; d4=d3+20*0.03; d5=d4+40*0.015; c=I/10; if(c>10) { c=10; }

switch(c) {

case 0:

prize=I*0.1;break; case 1:

prize=d1+(I-10)*0.075;break; case 2: case 3:

prize=d2+(I-20)*0.05;break; case 4: case 5:

prize=d3+(I-40)*0.03;break; case 6: case 7: case 8: case 9:

prize=d4+(I-40)*0.015;break; case 10:

prize=d5+(I-100)*0.01;break; }

printf("利润为%lf万元,\n应发奖金为%lf万元\n",I,prize); }

运行结果如下:

6、习题5.10 有4个圆塔,„„ 源代码如下: #include #include

void main() { double r1,r2,r3,r4; double x,y; int h1=10,h2=0; printf("输入点的坐标(x,y):\n"); scanf("%lf,%lf",&x,&y); r1=pow(x-2,2)+pow(y-2,2); r2=pow(x+2,2)+pow(y-2,2); r3=pow(x+2,2)+pow(y+2,2); r4=pow(x-2,2)+pow(y+2,2); if((r1

运行结果如下:

7、习题6.6 输出所有的水仙花数,…… 源代码如下: #include #include void main() { int i=100; int ones,tens,hundreds; //分别代表一个三位数的个位,十位,百位 printf("输出所有的“水仙花数”:\n"); for(i=100;i

}

printf("%6d",i); } }

printf("\n");

运行结果如下:

8、习题6.8……求出这个数列的前20项和。 源代码如下: #include void main() { double a[20],b[20]; int i; double sum=0; double t; a[0]=2,a[1]=3; b[0]=1,b[1]=2; for(i=2;i

//定义两个数组,分别代表求和通项的分子和分母

//累加和 //代表求和通项

运行结果如下:

9、习题6.9 一个球从100m高度自由落下,…… 源代码如下: #include void main() {

}

double h[20]; h[0]=100.0; int i;

for(i=1;i

double s=0;

for(i=1;i

s=2*s+h[0];

printf("第10次落地时,总共经过的距离(m):\n"); printf("%lfm\n",s);

printf("第10次反弹的高度(m):\n"); printf("%lfm\n",h[10]);

//h[i]代表第i次弹起能达到的高度

运行结果如下:

10、习题6.10 猴子吃桃问题。…… 源代码如下: #include void main() { int a[10]; a[0]=1; int i=0; for(i=0;i

//代表第9天吃完以后剩余的桃子数目

//a[i]代表第(9-i)吃完后剩余的桃子数目

//a[9]代表第一天采摘的桃子数目

运行结果如下:

本次实验的经验和教训

本次实验较上次来说,难度提高了不少,在编写程序的过程中,也出现了更多的问题。

实验过程中,掌握了赋值语句的使用方法,各种类型数据的输入输出方法,能正确使用各种格式转换符、关系运算符及表达式、逻辑运算符及表达式。掌握了if语句,学会使用if-else语句设计双分支和多分支结构程序;掌握了switch语句的特点,学会使用switch语句设计多分支结果程序。在编写包含switch语句的算法时,遇到了很多的问题,在经过多次尝试后,最终找到了解决问题的方案,并用此方法对包含if语句的算法进行了改进。另外,还掌握了如何获取一个整数包含的所有数字的算法。

本次实验用到了数组,用到了递推的思想。利用数组在内存地址上的连续性,可以很方便地引用数据和处理数据。利用数组和递推的方法,用程序设计语言对一些数学问题进行了完美的解决。

C语言程序设计-实验报告2

实验目的:

1、 熟悉C语言基本程序结构

2、 掌握顺序、分支结构程序设计思想与代码编写方法

实验内容:

1、在D盘根目录,创建以自己姓名拼音命名的文件夹,并创建exp1命名的子文件夹,本次实验所有代码均保存于该字文件夹;

2、利用VC6编写代码,并运行、保存; 3、习题5.6 4、习题5.7 5、习题5.8 6、习题5.10 7、习题6.6 8、习题6.8 9、习题6.9 10、习题6.10

实验报告正文:

撰写要求:

1) 按实验内容逐个完成

2) 每个实验内容分别列出源代码 3) 每个实验内容分别展示其运行结果 4) 最后,总结本次实验的经验和教训

实验报告正文

3、习题5.6 给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。„„ 源代码如下: #include void main() { float grade; int t; printf("输入一百分制分数:\n"); scanf("%f",&grade); t=grade/10; printf("输入成绩等级为:"); switch(t) { case 10: case 9:printf("A\n");break; case 8:printf("B\n");break; case 7:printf("C\n");break; case 6:printf("D\n");break; default:printf("E\n");break; } }

运行结果如下:

4、习题5.7 给一个不多于5位的正整数,要求: 1) 求出它是几位数; 2) 分别输出每一位数字;

3) 按逆序输出各位数字,例如原数321,应输出123。 源代码如下: #include #include void main() { int num[6]; int count=0; int number,s; int i; printf("输入一个不多于5位的正整数:\n"); scanf("%d",&num);

}

while(number) { num[count]=n%10; count++; number=number/10; }

printf("%是一个%d位数。\n",count); printf("从高到低输出每一位数字:\n"); s=count; while(count>=1) { printf("%3d",num[count-1]); count--; }

printf("\n");

printf("逆序输出各位数字:\n"); for(i=0;i

printf("\n");

//将整数的位数保存在s中

运行结果如下:

5、习题5.8 企业发放的奖金根据利润提成。„„ 源代码如下: #include void main() { double I; double prize; double d1,d2,d3,d4,d5; int c; printf("请输入利润金额(以万为单位):\n"); scanf("%lf",&I); d1=10*0.1;

d2=d1+10*0.075;

//if语句编写程序

//利润,以万为单位 //奖金,以万为单位 //各阶段提成奖金数 //将利润范围缩小到0-10有限范围之内

d3=d2+20*0.05; d4=d3+20*0.03; d5=d4+40*0.015; c=I/10; if(c>=10) { prize=d5+(I-100)*0.01; } else if(c>=6) { prize=d4+(I-60)*0.015; } else if(c>=4) { prize=d3+(I-40)*0.03; } else if(c>=2) { prize=d2+(I-20)*0.05; } else if(c>=1) { prize=d1+(I-10)*0.075; } else { prize=I*0.1; } printf("利润为%lf万元,\n应发奖金为%lf万元\n",I,prize); }

运行结果如下:

源代码如下: #include void main() {

double I; double prize; double d1,d2,d3,d4,d5; int c;

//switch语句编写

//利润,以万为单位 //奖金,以万为单位 //各阶段提成奖金数 //将利润范围缩小到0-10有限范围之内

printf("请输入利润金额(以万为单位):\n"); scanf("%lf",&I); d1=10*0.1;

d2=d1+10*0.075; d3=d2+20*0.05; d4=d3+20*0.03; d5=d4+40*0.015; c=I/10; if(c>10) { c=10; }

switch(c) {

case 0:

prize=I*0.1;break; case 1:

prize=d1+(I-10)*0.075;break; case 2: case 3:

prize=d2+(I-20)*0.05;break; case 4: case 5:

prize=d3+(I-40)*0.03;break; case 6: case 7: case 8: case 9:

prize=d4+(I-40)*0.015;break; case 10:

prize=d5+(I-100)*0.01;break; }

printf("利润为%lf万元,\n应发奖金为%lf万元\n",I,prize); }

运行结果如下:

6、习题5.10 有4个圆塔,„„ 源代码如下: #include #include

void main() { double r1,r2,r3,r4; double x,y; int h1=10,h2=0; printf("输入点的坐标(x,y):\n"); scanf("%lf,%lf",&x,&y); r1=pow(x-2,2)+pow(y-2,2); r2=pow(x+2,2)+pow(y-2,2); r3=pow(x+2,2)+pow(y+2,2); r4=pow(x-2,2)+pow(y+2,2); if((r1

运行结果如下:

7、习题6.6 输出所有的水仙花数,…… 源代码如下: #include #include void main() { int i=100; int ones,tens,hundreds; //分别代表一个三位数的个位,十位,百位 printf("输出所有的“水仙花数”:\n"); for(i=100;i

}

printf("%6d",i); } }

printf("\n");

运行结果如下:

8、习题6.8……求出这个数列的前20项和。 源代码如下: #include void main() { double a[20],b[20]; int i; double sum=0; double t; a[0]=2,a[1]=3; b[0]=1,b[1]=2; for(i=2;i

//定义两个数组,分别代表求和通项的分子和分母

//累加和 //代表求和通项

运行结果如下:

9、习题6.9 一个球从100m高度自由落下,…… 源代码如下: #include void main() {

}

double h[20]; h[0]=100.0; int i;

for(i=1;i

double s=0;

for(i=1;i

s=2*s+h[0];

printf("第10次落地时,总共经过的距离(m):\n"); printf("%lfm\n",s);

printf("第10次反弹的高度(m):\n"); printf("%lfm\n",h[10]);

//h[i]代表第i次弹起能达到的高度

运行结果如下:

10、习题6.10 猴子吃桃问题。…… 源代码如下: #include void main() { int a[10]; a[0]=1; int i=0; for(i=0;i

//代表第9天吃完以后剩余的桃子数目

//a[i]代表第(9-i)吃完后剩余的桃子数目

//a[9]代表第一天采摘的桃子数目

运行结果如下:

本次实验的经验和教训

本次实验较上次来说,难度提高了不少,在编写程序的过程中,也出现了更多的问题。

实验过程中,掌握了赋值语句的使用方法,各种类型数据的输入输出方法,能正确使用各种格式转换符、关系运算符及表达式、逻辑运算符及表达式。掌握了if语句,学会使用if-else语句设计双分支和多分支结构程序;掌握了switch语句的特点,学会使用switch语句设计多分支结果程序。在编写包含switch语句的算法时,遇到了很多的问题,在经过多次尝试后,最终找到了解决问题的方案,并用此方法对包含if语句的算法进行了改进。另外,还掌握了如何获取一个整数包含的所有数字的算法。

本次实验用到了数组,用到了递推的思想。利用数组在内存地址上的连续性,可以很方便地引用数据和处理数据。利用数组和递推的方法,用程序设计语言对一些数学问题进行了完美的解决。


相关内容

  • MFC开发拼图游戏实验报告
  • 计算机科学与工程学院 <Windows 程序设计>实验报告(四) <Windows 程序设计>实验报告 2 <Windows 程序设计>实验报告 3 <Windows 程序设计>实验报告 4 <Windows 程序设计>实验报告 5 < ...

  • 高中物理实验报告撰写浅析
  • 教 育 论 文 目 录 摘要„„„„„„„„„„„„„„„„„„„„„„„„„„2 关键词„„„„„„„„„„„„„„„„„„„„„„„„„2 引言„„„„„„„„„„„„„„„„„„„„„„„„„„2 1高中物理实验报告撰写意义„„„„„„„„„„„„„„„2 2目前高中生撰写实验报告存在的一些问 ...

  • 数据库设计大作业
  • <数据库原理>课程大作业 数据库设计与应用开发 课题名称: 实验教学管理数据库设计 学 号: 101530518 姓 名: 庞 彪 专业年级: 10 级 软 工 四 班 成 绩: 内容与要求 1. 请结合软件类专业课程实验教学环节设计数据库,实现实验教学的有效管理,具体功能应包括但不限于 ...

  • 实用文体写作课程重点难点提示
  • 个人整理的,觉得很好,就上传到文库与大家一起分享 <实用文体写作>课程重点难点提示 第四编 科技文体 第十三章 科技实验报告 [学习目标] 在本章的学习中 应当着重掌握: 科技实验报告的涵义:科技实验报告的基本结构:科技实验报告的写作要求 其它内容可一般了解 [重点难点提示] 一.科技实 ...

  • 数值计算基础
  • 数值计算基础 实验指导书 2010年 目录 实验一 直接法解线性方程组的 ................................ 1 实验二 插值方法 ........................................... 10 实验三 数值积分 ............. ...

  • 物理化学实验心得
  • 物理化学实验心得 一.物理化学实验的目的与要求 (一) 物理化学实验教学的目的 物理化学实验是化学实验科学的重要分支,也是研究化学基本理论和问题的重要手段和方法.物理化学实验的特点是利用物理方法研究化学系统变化规律,通过实验的手段,研究物质的物理化学性质及这些性质与化学反应之间的某些重要规律.物理化 ...

  • 软件设计实例分析教学大纲
  • <软件设计实例分析>教学大纲 中文名称:<软件设计实例分析>实验 英文名称:Software Design Case Analysis 实验学时:37学时 先修课程:软件工程.软件需求分析与设计 适用专业:软件工程 课程性质:非独立设课 课程负责人: 专业负责人: 一.教学目 ...

  • 课题研究的基本理论
  • 课题研究的基本理论 一.为什么要在中小学大力提倡开展课题研究 1.什么是课题研究?课题研究指的是运用科学的研究方法去探索教育的客观规律的过程,也是通过认识教育规律来提升教师素质,提高教学质量的过程. 2.课题研究的发展史? (1)1879年,德国心理学家冯特在莱比锡建立世界上第一个心理学实验室后,标 ...

  • 实验报告(通用版)
  • 数据结构实验报告人力资源 11中国矿业大学管理学院2014 年 11 月目录实验一 KFC 点餐结账程序 ....................................................................................... 3 实验二 运算符 ...

  • [计算机组装与维护]实验指导书
  • 内江职业技术学院 <计算机组装与维护> 实验指导书 信息电子工程系 熊永胜 二○○九年二月 目 录 实验1 拆装主机箱 .................................................. 1 实验2 微机硬件市场调查 .................. ...