c上机逐步求精_(2).ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
逐步求精 将一个三位整数反向后输出 1 输入一个三位整数 2 利用算术运算符“/”,“%进行分解,分别求出此三位数n的百位n3,十位n2,个位n1。 3 反向后的三位整数为:num=n1*100+n2*10+n3 4 输出此三位数 一级算法 将一个三位整数反向后输出 验证:三位整数783 第二步求精: 2.1 求出n的百位数:n3=n/100 2.2 求出n的十位数:n2=(n-n3*100)/10 2.3 求出n的个位数:n1=n%10 输入年月,输出该月有几天 1 输入年year,月month 2 判断该月有几天 3 输出年,月,和该月的天数 一级算法 输入年月,输出该月有几天 第二步求精: 2.1 当month的值为1 3 5 7 8 10 12,月:days=31 2.2 当month的值为4 6 9 11月:days=30 2.3 当month为2:闰年:28天,否则29天 2.3求精: 判定是否为闰年:能被4整除但不能被100整除的年份,和能被400整除的年份 year%4==0year%100!=0 || year%400==0 求数列1,3,5,7 --- 97,99之和 用变量i表示当前项 1 2 3 4 --- 50 用变量n表示当前项的值 1 3 5 7 --- 99 用变量sum表示前i项之和 1 4 9 16 --- ? 1 前i项之和的变量sum初始化为0 2 当前项i为第一项 3 数列中第i项的当前值为n=1 4 while(i=50) { sum=sum+n; i=i+1; n=n+2; } 5 输出sum的值 while(i=50) { sum=sum+2*i-1; i=i+1; } 为验证循环的正确,可加上 printf(i=%d,n=%d,sum=%d\n,i,n,sum); 求任意一正整数n(n=2)是否为素数 分析:用2,3,4 --- n-1作为除数去除以n,只要其中一个能除尽n,n就不是素数。 可以用一个变量来跟踪,假设n是素数,令变量flag的初值为1,然后用2,3,4,---n-1(用变量i作除数)去除n,只要一次能被i除尽,就让flag为0。 素数:指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。 求任意一正整数n(n2)是否为素数 一级算法 1 输入n 2 flag=1 3 i=2 4 while(in-1) { if(n%i==0) { flag=0; } i=i+1; } 5 如果flag等于1,那么打印n为素数 验证整数 25 用变量i表示除数 2 3 4 5 6 --- 24 用变量flag表示是否为素数,初始为1 1 1 1 0 0 --- 0 验证整数 13 用变量i表示除数 2 3 4 5 6 --- 12 用变量flag表示是否为素数,初始为1 1 1 1 1 1 --- 1 求任意一正整数n(n2)是否为素数 一级算法 1 输入n 2 flag=1 3 i=2 4 while(in-1) { if(n%i==0) { flag=0; } i=i+1; } 5 如果flag等于1,那么打印n为素数 如果用break修改 1 输入n 3 i=2 4 while(in-1) { if(n%i==0) { break; } i=i+1; } 5 i等于n,那么n为素数 求任意一正整数n(n2)是否为素数 验证整数 25 用变量i表示除数 2 3 4 5 验证整数 13 用变量i表示除数 2 3 4 5 6 -- 12 如果用break修改 1 输入n 3 i=2 4 while(in-1) { if(n%i==0) { break; } i=i+1; } 5 i等于n,那么n为素数 求任意一正整数n(n2)是否为素数 一级算法 1 输入n 2 flag=1 3 i=2 4 while(in-1) { if(n%i==0) { flag=0; } i=i+1; } 5 如果flag等于1,那么打印n为素数 通常只用2,3,4--n的开方作除数就够了 n的开方用sqrt(n)表示sqrt()为库函数,属于数学函数,要包math.h文件,即要写上#include math.h 4 while(isqrt(n)) { if(n%i==0) { flag=0; } i=i+1; } 求数列1、11、111、1111---共9项之和 用变量i表示当前项 1 2 3 4 --- 9 用变量n表示当前项的值 1 11 111 1111 --- ? 用变量sum表示前i项之和 1 12 123 --- ? 分析: 1 共进行了9次循

文档评论(0)

文档分享 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档