西北工业大学上机实习实验报告..docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
西北工业大学上机实习实验报告.

C语言上机实习 C基本程序设计与调试 2.1使用选择结构的程序设计 【实验目的】 进一步掌握各种表达式的使用。 利用if语句实现选择结构。 利用switch语句实现多分支选择结构。 【实验内容】 计算下列分段函数值: 具体要求如下: 用if语句实现分支。 用scanf函数输入,且输入前输入后有提示。 【算法与流程图】 算法:采用分支结构,根据x的不同范围进行对应的函数运算。 流程图如下: 【程序清单】 #include stdio.h int main() { float x,y; printf(x=); scanf(%f,x); if ((x0)(x!=-3)) { y=x*x+x-6; } else if ((x=0)(x10)(x!=2)(x!=3)) { y=x*x-5*x+6; } else y=x*x-x-1; printf(f(x)=%f,y); } 【运行结果】 【调试分析和体会】 题目考查了选择结构分支语句。 2.2循环结构的程序设计 【实验目的】 进一步练习选择结构的程序设计及实现循环结构的三种方法。 练习并掌握选择结构与循环结构的嵌套,调试与修改程序。 【实验内容】 计算并输出500以内最大的10个素数及其之和。 具体要求如下: 输出要有文字说说明,并同时输出各素数。 程序内部加油必要注释。 考虑素数不够10个的情况。 【算法与流程图】 算法:本题主要算法为判断质数的方法。对于要判断的数i,若j从3到sqrt(i)+1中皆没有i的因子,说明该数为质数。 【程序清单】 #include stdio.h #include math.h int main() { int i,j,t,n,sum; n=0; sum=0; printf(500内最大的10个素数和为:\n); for (i=500;i1;i--) { t=0; for (j=2;jsqrt(i)+1;j++)//判断素数的条件,t为标志,只有t为0才说明j为质数 { if ((i % j)==0) { t=t+1; } } if (((t==0)(n==9))||(i==2))//i==2为考虑素数不够10个的情况 { sum=sum+i; printf(%d=%d,i,sum); break; } if ((t==0)(n!=9)) { printf(%d+,i); sum=sum+i; n=n+1; } } } 【运行结果】 【调试分析和体会】 本题给我们的启示是编程过程中要注意考虑各种情况。 2.3模块化程序设计 【实验目的】 掌握c语言中定义函数的方法。 掌握通过“值传递”调用函数的方法。递归函数的设计方法。 【实验内容】 正整数A的因子之和为B,B的因子之和为A,则称A与B为一对亲密数。求500内的亲密数。 具体要求如下: 函数facsum(n),返回ckermann函数 具体要求如下: 根据说明,编制Ackermann函数的递归函数Ackermann(n,x,y)。 主函数键入n,x,y,调用Ackermann(n,x,y)。计算Ackermann函数值。 主函数中,输入前要有提示,检查输入数据的合理性,对于不合理的输入,应给出出错信息。输出有文字说明。 【算法与流程图】 题目1主要算法为计算所有因子之和,算法与判读素数的方法基本相同。 题目2主要算法为递归调用,该函数将n,x,y作为形参传递,函数值作为返回值。 【程序清单】 题目1 #include stdio.h int facsum(int m) { int i,sum; sum=1; i=2; for (i=2;i=m/2+1;i++) { if ((m%i)==0) sum=sum+i; } return sum; } int main() { int i,j,k,n,m; printf(500以内的亲密数对:\n); for (m=2;m=500;m++) { n=facsum(m); k=facsum(n); if ((m==k)(m=n)) printf(%d,%d\n,m,n); } } 题目2 #include stdio.h int ack(int n,int x,int y) { if (n==0) { return x+1; }else if ((n==1)(y==0)) { return x; }else if ((n==2)(y==

文档评论(0)

sa1fs5g1xc1I + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档