算法与编程实验报告.pdfVIP

  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文档。上传文档
查看更多
算法与编程实验报告.pdf

算法与编程实验报告 姓名: 学号: 班级: 专业: 2012.6.26 基础训练题目部分 题1.指示灯控制 问题描述: N 盏灯排成一排,从1 到N 按顺序依次排号。有N 个人也从1 到N 依次编号。 第一个人(1 号)将灯全部关闭。第二个人(2 号)将凡是2 和2 的倍数的灯打 开。第三个人(3 号)将凡是3 和3 的倍数的灯做相反处理(如果该灯为打开的, 则将它关闭;如果该灯为关闭的,则将他打开)。以后的人都和三一样,将凡是 与自己编号相同的灯,以及是自己编号倍数的灯做相反处理。请编写程序实现。 要求:程序中要显示每个人所做工作的过程,列如:第 i个人操作时,则显示将 i和 i的倍数和灯做相反处理过程;当第N 个人操作之后,显示灯的最后状态。 程序代码与解释 #includestdio.h void main() { int n,i,j,a[200]; //定义数组来 判别灯是否为亮,1 为亮的,-1 为黑的 printf(请输入是第几人的操作\n); scanf(%d,n); for(i=1;i=n;i++) //先将数组里 的定义为1 (即灯是亮的) a[i]=1; for(i=1;i=n;i++) //利用循环来 判断灯是否亮 { printf(第%d 个人操作时\n,i); for(j=1;j=n;j++) { if(j%i==0) //整倍则进 行相反处理 a[j]=-1*a[j]; if(a[j]==1) //若数组是 1 则灯是亮的,是1 则是黑的,并输出结果 printf( 第%d 盏灯是亮的\n,j); else printf( 第%d 盏灯是黑的\n,j); } } } 程序流程图 运行结果: 题2.四则运算 问题描述: 运行程序时,首先提示用户输入四则运算表达式(表达式中最多有3 个运算 符,数据范围为1-100 的整数); 输入结束后,0 程序自动进行计算并给出结果。 如:输入13-10+5/8 时输出3.625。 程序代码与解释 #includestdio.h #includemath.h #includestring.h int t=0; void check(char a[]) { int i; for(i=0;a[i]!=\0;i++) // 如果有效继续 if(a[i]=0a[i]=9||a[i]==*||a[i]==-||a[i]==+||a[i]==/); // 重新输入 else { printf(请重新输入\n); scanf(%s,a); // 别忘了归零 i=0; continue; } } // 用来找到数字的位数,同时移动指针到下一个位置 int fun(char a[]) { int i,k=0; for(i=t;;i++){ if(a[i]=0a[i]=9) k++; else{ t=t+k+1; break

文档评论(0)

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

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

1亿VIP精品文档

相关文档