C语言程序设计第四次实验报告

姓名:熊毅

实验地点:家

实验时间:2020.04.09

实验项目:

5.3.1练习2 求数列的前n项和

5.3.2练习2 求水仙花数

5.3.4 十进制转换

5.3.5练习1 百马百担问题

5.3.5练习2 求等差数列

5.3.5练习3 食品分配问题

九九乘法表的实现

一、实验目的与要求

①熟练掌握使用while、do...while及for语句实现循环的方法。

②了解3种循环语句的区别和转换、各自的适应性、循环的嵌套使用。

③掌握在循环语句钟使用break 和 continue 语句改变程序流程图的方法。

④能在程序设计中用循环的方法实现各种算法。

二、实验内容

1、实验练习:5.3.1实验练习2 求数列前n项的和

1问题的简单描述:编写程序,求数列1,-3!,5!,-7!,‘‘‘,(-1)^(n-1)*(2n-1)!前n项的和。n值由键盘输入。

2实验代码:

#include

main()

{

int n,i,j,sign=1;

float fac,sum;

printf("please input value of n:");

scanf("%d",&n);

sum=0.0;

for(i=1;i<=n;i=i+1)

{

fac=1.0;

for(j=1;j<=2*i-1;j=j+1)

{

fac=fac*j;

}

fac=fac*sign;//计算第n项//

sum=sum+fac;//求前n项的和//

sign=-sign;

}

printf("sum=%.0f\n",sum);

}

3问题分析:当时没有完全理解题目意思,导致代码输入错误。

2、实验练习:5.3.2练习2求水仙花数

1问题的简单描述:求所有水仙花数(水仙花数是一个3位自然数,该数各位数的立方和等于该数本身,如153为水仙花数13+53+33=153)。

2实验代码:

#include

void main()

{

int x,y,z;

int k=100;

while(k<=999)//while循环条件,水仙花数是一个三位数//

{

x=k/100;

y=(k/10)%10;

z=k%10;

if(k==x*x*x+y*y*y+z*z*z)

printf("%d\n",k);

k++;

}

}

3问题分析:就是水仙花数应当满足的条件“k==xxx+yyy+zzz”,之间的等于输成了“=”,导致无法得出正确答案,在赋值和等于方面还有的时候会有点马虎。

3.实验练习:实验5.3.4十进制转换

1问题的简单描述:输入4个字符型数字,并把其转换成十进制整数后显示出来。

2实验代码:

#include

void main()

{

char c;

int k,data;

data=0;

for(k=0;k<4;k++)

{

while(1)

{

c=getchar();

if(c>=‘0‘&&c<=‘9‘)

break;

}

//将数字字符转化为对应的十进制整数,并形成4位数//

switch(k)

{

case 0:data+=(c-‘0‘)*1000;break;

case 1:data+=(c-‘0‘)*100;break;

case 2:data+=(c-‘0‘)*10;break;

case 3:data+=(c-‘0‘);break;

default:break;

}

}

printf("date=%d ",data);

}

3问题分析:之前代码在case的各句语句后写了k++,编译运行后发现不对,后来知道在for语句中有k++,所以case语句中就不用再次输入k++.

4实验练习:实验5.3.5实验练习1 白马白担问题

1问题的简单描述:有100匹马,要驮100担货物。其中1匹大马可以驮3担货物,1匹中马可以驮2担货物,2匹小马可以驮1担货物,求所需要的大马、中马和小马可以有多少种组合。

2实验代码:

#include

void main()

{

int m,n,k; //m,n,k分别代表大马,中马和小马的匹数//

int sum=0;

printf("各种驮法如下:\n");

for(m=1;m<=100;m++)

{

for(n=1;n<=100-m;n++)

{

k=100-m-n;//大马,中马,小马满足的总匹数//

if((k%2==0)&&(3*m+2*n+k/2==100))// 大马,中马,小马驮货物满足的关系//

{

printf("大马%3d匹;中马%3d匹;小马%3d匹.\n",m,n,k);

sum++;

}

}

}

printf("共有%d驮法.\n",sum);

}

3问题分析:熟悉for的嵌套

5实验练习:实验5.3.5练习2 求等差数列。

1问题的简单描述:有一正整数等差数列,已知该数列前4项之和等于26,前四项之积等于880,,求该等差数列前六项的值和该数列前6项的和。

2实验代码:

#include

main()

{

int a,b,c,d,i,sum=0; //a为首项,d为差值,b为前4项的和,c为前4项的积//

for(a=1;a<=26;a++)

{

for(d=1;d<=26;d++)

{

b=4*a+6*d;//等差数列前4项之和//

c=a*(a+d)*(a+2*d)*(a+3*d);//等差数列前4项之积//

if((b==26)&&(c==880))

{

printf("数列的初始值为a=%d,差值为%d\n",a,d);

printf("\n数列前6项的值:");

for(i=0;i<6;i++)

{

printf("%d ",a+i*d);

sum=sum+(a+i*d);

}

printf("\n");

}

}

}

printf("\n数列的前六项的和为: %d\n",sum);

}

3问题分析:输出的前六项的值有问题,之前输出的是258111417,中间没有空格,以为是在printf("\n数列前6项的值:")中在添加一个空格,发现不对,控制输出前六位是for循环语句中的printf("%d ",a+i*d);控制。

6实验练习:实验5.3.5练习3 食品分配问题

1问题的简单描述:有30个学生一起买小吃,共花费50元,其中,每个大学生花3元,每个中学生花2元,每个小学生花1元,求大、中、小学生的人数分配共有多少种不同的组合(不包含某类学生数为0的组合)。

2实验代码:

#include

main()

{

int x,y,z,sum; //x代表大学生,y代表中学生,z代表小学生//

sum=0;

for(x=1;x<30;x++)

{

for(y=1;y<30;y++)

{

z=30-x-y;

if((3*x+2*y+z)==50)

{

printf("大学生%3d\t中学生%3d\t小学生%3d\n",x,y,z);

sum=sum+1;

}

}

}

printf("共有%d种不同的组合。\n",sum);

}

3问题分析:无

三、项目实训:九九乘法表/帮帮小朋友(奥数趣解)

1、设计思路:先定义整数i与j,并能使i和j分别可以从1依次加1加到9,并使i与j依次相乘。利用循环语句使i能从1加至9,并在i的循环语句下再次利用循环语句使得j能够从1依次加一到i,输出i*j,并使输出结果后空一格,当i结束一次循环时换行

2、流程图

3、设计过程中遇到的问题及改进的方法:刚刚开始无法得出三角形形状输出结果,后来结合之前学习的形状图案的代码最终得出结果。

4、代码

#include

main()

{

int i,j;

for(i=1;i<10;i++)

{

for(j=1;j<=i;j++)

{

printf("%d*%d=%-3d\t",i,j,i*j);

}

printf("\n");

}

return 0;

}

四、实验小结(剖析个人得失)

这节实验课学习了while、do...while及for语句实现循环的方法,以及break和continue改变流程图的方法,以及拓展了九九乘法表的学习,较上一次实验,完成了上次实验说学习循环的知识,同时这节实验课让我知道了一些小问题,比如:“==”和“=”的用法老是没在意导致无法得出正确答案。同时也让我学习到了先理好思路再来进行代码的学做,要让自己有目的、有目标的写而不是照着课本给的样例照搬,所以还是要学会做好准备工作。

原文:https://www.cnblogs.com/Xiongyi1218/p/12682519.html

c程序语言第四版实验报告,C语言程序设计第四次实验报告相关推荐

  1. python顺序结构实验设计_实验二 顺序结构程序设计(验证性实验)

    安徽工程大学 Python程序设计实验报告 班级物流192 姓名 徐敏 学号 3190505232 成绩 _____ 日期 2020.3.22 指导老师 修宇 [实验名称] 实验二 顺序结构程序设计( ...

  2. 数据结构c语言王海燕版课后答案,c语言程序设计实验指导(学生用).doc

    c语言程序设计实验指导(学生用).doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. ...

  3. dellemc服务器中文语言设置,美版windows10系统设置中文语言的方法

    为了获得更好的体验,一些用户会去尝试新的Windows10泄漏版本,此时他们可能会遇到美(英语)版的Win10系统.那么,如果希望美版win10系统切换回中文语言该如何操作呢?下面,就随小编看看具体方 ...

  4. 哈工大c语言第四版pdf,哈工大C语言讲义 指针.pdf

    哈工大C语言讲义 指针 指针 指指指针针针 数组与指针 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 指指指针针针 数组与指针 p a[0] a[ ...

  5. 数据结构使用c语言第5版答案,数据结构(c语言版)第五章答案.doc

    数据结构(c语言版)第五章答案.doc 第五章1.设二维数组A[8][10]是一个按行优先顺序存储在内存中的数组,已知A[0][0]的起始存储位置为1000,每个数组元素占用4个存储单元,求(1)A[ ...

  6. 单片机c语言第三版答案,单片机C语言应用程序设计马忠梅课后习题答案

    第一章 1.8051单片机由哪几部分组成? 8位中央处理器CPU.片内振荡电器及其时钟电路,4个8位并行I/O口(其中P0和P2可用于外部存储器的扩展),2个16位定时器/计数器,5个中断源(具有2个 ...

  7. 《汇编语言》王爽(第四版) 第十二章 实验12

    文章目录 前言 一.思路分析 1.安装 2.设置中断向量 3.do0程序 4.测试 5.优化 二.最终成果 1.完整代码 2.效果图 总结 前言 本文是王爽老师<汇编语言>(第四版) 第十 ...

  8. python顺序结构实验_Python程序设计实验报告二:顺序结构程序设计(验证性实验)...

    安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名姚彩琴学号3190505129 成绩 日期 2020.3.3 指导老师修宇 [实验名称] 实验二 顺序结构程序设计(验证性实验) [ ...

  9. c语言程序设计 实验十一,C语言实验十一 结构体程序设计(二)

    实验十一结构体程序设计(二) 一.实验目的 1.掌握链表的基本概念与定义方法: 2.掌握链表.共用体的程序设计. 二.实验环境 1.硬件:PII以上计算机: 2.软件:Windows.Visual C ...

  10. 算法第四版- 3.1

    算法第四版- 3.1 文章目录 **算法第四版- 3.1** 1.二分查找 1)LC704二分查找 2)LC744二分查找 3)LC33搜索旋转排序数组 4)搜索旋转数组进阶 2.跳表 1.二分查找 ...

最新文章

  1. 一个苹果手机移动电源也能让他拽得跟二五八万似的
  2. [原创].怎样制作一个简单ip,以方便在Quartus II和Nios II中使用?
  3. 远程计算机的分辨率调整,手把手教你解决win10系统远程连接设置电脑分辨率的设置方法...
  4. 风车网上线,图片分享网站大潮将至
  5. 02.生成、打包、部署和管理应用程序及类型
  6. 087-把PHP数组中的元素按随机顺序重新排列shuffle
  7. activiti5.13 框架 数据库设计说明书
  8. 硬件平台(1)---骁龙710移动平台强势来袭
  9. bash的快捷键、特殊参数、历史命令、相关文件
  10. 烽火fr2600怎么web登录_烽火R2600路由器配置步骤及脚本文件
  11. python中文词云图代码_用python写一个词云图生成器
  12. Linux多开微信,在Deepin V20/15.11系统下实现微信多开的方法
  13. 001简谱的调号、拍号和情绪
  14. linux时间同步到win7,mac与win7时间不同步怎么办_mac与win7时间不准如何解决
  15. Mybatis学习笔记-配置Log4j以便查看MyBatis操作数据库的过程
  16. JavaScript脚本语言基础(三)
  17. 接口测试管理平台手册
  18. java中Hashset集合删除元素_从Java中的HashSet中删除单个元素
  19. oracle查看主备库延迟时间,【分享】Oracle 主备库容灾维护常用的九个SQL
  20. C++设计模式----装饰器模式

热门文章

  1. python+OpenCv笔记(七):图像的形态学操作(腐蚀与膨胀、开闭运算、礼帽与黑帽)
  2. 2008校园招聘网申系统研究报告
  3. nvh个人检测下载_降噪软件让NVH诊断更轻松
  4. 技美知识学习3300:TESS and GS
  5. GSM之AT操作命令详解
  6. iptables整理总结
  7. 杜德伟杀人和彩虹QQ抢劫
  8. 声音经济@2023: 「夹缝」求生,「希望」不远
  9. org.springframework.orm.hibernate3.HibernateSystemException: Exception occurred inside setter of com
  10. 金蝶eas怎么引出凭证_金蝶EAS系统标准凭证导入需要什么数字格式