C语言5(5[1].8循环程序示例课堂练习).pptVIP

C语言5(5[1].8循环程序示例课堂练习).ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.8 程序举例 [例] 输入若干字母,将它们变成其后的第四个字母, A--E, W--A.非字母字符忽略。 思路: 1.建立循环, 循环结束以输入回车符为准 while (c=getchar()!=’\n’) 2. 判断输入是否是字符,否则忽略 if ((c=’a’ c=’z’) || (c=’A’ c=’Z’)) 3.变成其后的第四个字母 c=c+4; 4. 若变换后超出z时,要轮回. If ((c’Z’ c‘a’)||(c’z’)) c=c-26 [例] 输入30个0~9的字符数字,计算数字串中有多少个奇数,偶数和零 . 思路: 输入30个字符数字char num,而不是整数 30个字符的输入和30个数字的输入的区别 字符可以连续输入30个 009764146589…... 数字输入必须是用空格,Tab键或回车隔开 0 0 9 7 6 4 1 4 6 5 8 9 … … 将字符变成数字后判断奇偶 i=num-’0’; 字符数字的ASCII码:48 49 50 51 52 53 54 55 56 57 步骤: 计数变量n1,n2,n3初始值设为零; 输入1个字符num; 循环变量初值为1; 若i=30,重复 字符变成数字,num=num-’0’ 判断num是否为0 判断num%2的值 循环变量i++ 再输入1个字符num 输出n1,n2,n3的值。 [例] 输入一个整数,计算它的位数.并反向输出. 分析:设一个数13579,一位一位地切下末位 循环结束条件: num==0; 同时计数 count=count+1; [例] 汽车里程表上的读数是95859,7小时之后里程表的读数是一个对称数(最大是5位数),问汽车的速度(是一个整数)。 解题思路: 检查所有的在95859到99999之间的对称数,如果它与95859的差能被7整除,则商是速度。 /* 第一种算法*/ 5. 9 课堂练习 百钱买百鸡:鸡翁1,钱值5; 鸡母1,钱值3;鸡 雏3,钱值1;何以百钱买百鸡? main() { int x,y,z; for (x=1 to 20) for (y=1 to 33) if ((x*5+y*3+(100-x-y)/3.0)==100) printf(“x=%d,y=%d,z=%d”,x,y,100-x-y); } 打印出100到200之间所有的素数 #include “math.h” main() { int n,m, i, k; for (n=100;n=200;n++) { k=sqrt(n); for (i=2;i=k;i++) if ((n % i)==0) break; if (i=k+1) printf(“%d prime number\n”,m); else printf(“%d not a prime\n”,m); } 课外练习 一、每个苹果0.8元,第一天买两个苹果。从第二天开始,每天买前一天的2倍,当每天购买苹果的数大于100时,则停止. 求平均每天花多少钱? 二、输入一行字符,回车为结束,分别统计出其中的英文字母,空格,数字和其它字符的个数。 [例] 输入一个整数,计算它的位数.并反向输出. 分析:设一个数13579,一位一位地切下末位 循环结束条件: num==0; 同时计数 count=count+1; * * * * * * [例] 用?/4?1-1/3+1/5-1/7+…的公式求?的近似值,直到最后一项的绝对值小于10—6为止 t=1,pi=0,n=1,s=1 当| t | ?10-6 pi=pi+t n=n+2 s=-s; t=s/n pi=pi*4 输出pi #include “math.h” main() { int s; float n, t, pi; t=1; pi=0; n=1.0; s=1; while ((fabs(t))=1.0e-6) { pi=pi+t; n=n+2; s=-s; t=s/n; } pi=pi*4; printf(“pi=%10.6f\n”,pi);} 方法一:数列是正、负相间的,

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档