c语言程序设计vc6反弹球代码,C程序设计实验报告2

本次实验报告详细记录了C语言编程的多个练习,包括根据成绩输出等级、数字处理、奖金计算、圆塔问题、水仙花数、数列求和、自由落体距离和猴子吃桃问题等。实验中运用了if-else和switch语句进行条件判断,以及数组和递推思想解决数学问题,加深了对C语言基本结构和控制流程的理解。
摘要由CSDN通过智能技术生成

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语句的算法进行了改进。另外,还掌握了如何获取一个整数包含的所有数字的算法。

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值