第3章 C语言的基本控制结构.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章C语言的基本控制结构第3章C语言的基本控制结构

⑷ goto语句 格式: goto Label /* Label: 同一函数内语句前的标号。*/ 作用:转移到标号对应的语句上继续执行。 loop: if (i=100 ) { sum=sum+i; i++; goto loop; } 循环和分支相互嵌套 输入10个自然数统计其中偶数的个数及偶数值和。 算法框图: start 定义变量 初始化 循环? yes 输入 偶数? yes 统计累加 no no 输出结果 end #include stdio.h void main(void) { int i, ix,iCount=0,iSum=0; for(i=1;i=10;i++) { scanf(“%d\n”, ix); if( ix%2==0 ) { iSum+=ix; iCount++; } } printf(“Num=%d\nSum=%d”,iCount,iSum); } 循环结构 分支结构 输入负数? do { if(ix=0)printf(“date error”); } while(ix=0); 算法的健壮性 注意:结构应完整的包含和被包含。 举例: ⒈求100到200之间的所有素数(只能被1和自身整除的数)。 对于自然数n,判断其是否为素数有以下三种方法: ①判断n是否能被从2到n-1范围内的数整除; ②判断n是否能被从2到(int)(n/2)范围的数整除; ③判断n是否能被从2到(int)sqrt(n)范围的数整除; 程序设计中标志技术的使用 在程序设计中,经常要记录一些状态,作为判断的条件。因此 需要在程序中设置一些标志,通常标志是整型变量。 如:设置变量iFlag用于记录是否世素数, iFlag==1是素数; iFlag==0不是素数。 判断某自然数n是否是素数的算法 s=sqrt(n); iFlag=1; i从2循环到s n%i==0 yes iFlag=0; break; no 继续循环 直到退出 iFlag==0? 程序如下: #include stdio.h #include math.h void main(void) { int n, j, s, iFlag; for(n=101;n200;n+=2) { s=sqrt(n); iFlag=1; for(j=2; j=s; j++) { if(n%j==0){ iFlag=0;break;} } if(iFlag)printf(“\n%d”,n); } } 0不是素数;1是素数。 枚举所有数 构造,测试条件 假定n是素数。 如果n能被2到s的任意数整除,设标志退出循环。 如果n是素数,输出n。 chp3ex8 ⒉求水仙花数(条件:三位数的个、十、百位的方和等于该数。153==13 +53 +33 )。 n为枚举变量,枚举初值 100,枚举终值999。 构造条件:取出n的个、十、百位数。 测试是否满足条件,满足条件输出n。 #include stdio.h void main(void) { int n, a, b, c; for(n=100 ; n=999 ; n++) { a=n/100; b=n%100/10; c=n%10; if(a*a*a+b*b*b+c*c*c==n) printf(“\n%d”,n); } } 枚举所有三位数 构造条件 测试条件 取n的百位a、十位b、个位c。 chp3ex9 思考题: ⒈36人一次搬36块砖,男搬4,女搬2,两个小孩抬一块。要一 次搬完。问:男、女、小孩要多少? ⒉“百鸡百钱”问题

文档评论(0)

cxiongxchunj + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档