您好,欢迎来到锐游网。
搜索
您的当前位置:首页C语言循环结构程序的设计实验报告

C语言循环结构程序的设计实验报告

来源:锐游网
 ..

甘肃学院

本科生实验报告

( 五 )

姓名:赵明翔 学院:技术学院 专业:安全防范工程

班级: 2015级安全防范工程班 实验课程名称:程序设计 实验日期:2016年月日 开课时间:2015学年第二学期

实验题目 姓名 实验5 循环结构程序设计 赵明翔 班级 小组合作 安全防范工学 号 20158313程 0145 一、实验目的 1.熟悉掌握用while语句,do...while 语句和for语句实现循环的方法。 2.掌握在程序设计中用循环的方法实现一些常用的算法(如穷举, 代,递推等)。 3.进一步学习调试程序。 二.实验环境 .下载可编辑.

..

Miscroft Visual C++6.0环境。 三、实验内容与步骤 编程序并上机调试程序。 (1)输入一行字符,分别统计出其中的英文字母,空格,数字和其他字符的个数。 程序如下: #include int main() { char c; int letters=0,space=0,digit=0,other=0; printf(\"请输入一行字符:\\n\"); while((c=getchar())!='\\n') { if(c>='a'&&c<='z'||c>='A'&&c<='Z') letters++; else if(c==' ') space++; else if(c>='0'&&c<='9') digit++; else other++; } printf(\"字母数:%d\\n空格数:%d\\n数字数:%d\\n其他字符数:%d\\n\ return 0; } 运行结果: .下载可编辑.

..

(2)输出所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字李方和等于该数本身。例如,153是水仙花数,因为153=1²+53+33 程序如下: #include int main() { int i,j,k,n; printf(\"paicissus numbers are\"); for (n=100;n<1000;n++) { i=n/100; j=n/10-i*10; k=n%10; if(n==i*i*i+j*j*j+k*k*k) printf(\"%d\} printf(\"\\n\"); return 0; } 运行结果: (3)猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又.下载可编辑.

..

多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下了1个桃子了。求第一天共摘了多少桃子。 程序如下: #include int main() { int day,x1,x2; day=9; x2=1; while(day>0) {x1=(x2+1)*2; x2=x1; day--; } printf(\"total=%d\\n\return 0; } 运行结果: (4)①用牛顿迭代法求方程2x34x23x60在1.5附近的根. #include #include int main() {double x1,x0,f,f1; x1=1.5; do {x0=x1; f=((2*x0-4)*x0+3)*x0-6; f1=(6*x0-8)*x0+3; x1=x0-f/f1; .下载可编辑.

..

} while(fabs(x1-x0)>=1e-5); printf(\"The root of equation is%5.2f\\n\return 0; } 运行结果: ②修改程序使所设的x初值由1.5改变为100,1000,10000。 (1)#include #include int main() {double x1,x0,f,f1; x1=100; do {x0=x1; f=((2*x0-4)*x0+3)*x0-6; f1=(6*x0-8)*x0+3; x1=x0-f/f1; } while(fabs(x1-x0)>=1e-5); printf(\"The root of equation is%5.2f\\n\return 0; } 运行结果: (2)#include #include .下载可编辑.

..

int main() {double x1,x0,f,f1; x1=1000; do {x0=x1; f=((2*x0-4)*x0+3)*x0-6; f1=(6*x0-8)*x0+3; x1=x0-f/f1; } while(fabs(x1-x0)>=1e-5); printf(\"The root of equation is%5.2f\\n\return 0; } 运行结果: (3)#include #include int main() {double x1,x0,f,f1; x1=10000; do {x0=x1; f=((2*x0-4)*x0+3)*x0-6; f1=(6*x0-8)*x0+3; x1=x0-f/f1; } while(fabs(x1-x0)>=1e-5); printf(\"The root of equation is%5.2f\\n\return 0; } 运行结果: .下载可编辑.

..

分析: 不同的x初值对结果没有影响。因为牛顿迭代法是利用近似方法求根的计算方法,当后一个近似根减前一个近似根的绝对值小于105时,视后一个近似根为该方程的根,方程的根是唯一的,x的初始赋值对此没有影响。 ③修改程序,使之能输出迭代的次数和每次迭代的结果。 #include #include int main() {double x1,x0,f,f1; int i=0; printf(\"请输入x的初始赋值:\"); scanf(\"%d\do {x0=x1; f=((2*x0-4)*x0+3)*x0-6; f1=(6*x0-8)*x0+3; x1=x0-f/f1; i++; printf(\"第%d次迭代的结果为: %5.2f\\n\}while(fabs(x1-x0)>=1e-5); printf(\"迭代次数为%d\\n\return 0; } 运行结果: 分析: .下载可编辑.

..

不同的x初始值对迭代的次数和结果并无影响。 五、实验总结 C语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。 通过本次实验,让我学会了很多东西, 但是,由于自己对课本上的知识掌握不清楚,所以在分析和编写代码时混淆了一些知识点,导致在程序运行的时候错误百出。所以在以后的学习中,需要好好看书,尽量多掌握课本上的基础知识,还有,就是多做练习,做到熟能生巧。

.下载可编辑.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- ryyc.cn 版权所有 湘ICP备2023022495号-3

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务