版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、if()else语句,1、格式:,if(表达式)语句1; else 语句2;,if(表达式)语句1;,2、语句的执行过程:,3、 else总是和它最近的未配对的if配成一对。,判表达式,表达式成立执行语句1,不成立执行语句2。,三、while语句,1、格式:,while(表达式) 语句;,2、语句的执行过程:,while(表达式) 语句;,表达式为真,表达式为假,五、for语句,1、格式:,for(表达式1;表达式2;表达式3)语句;,2、语句的执行过程:,第一步:求解表达式1。,第二步:求解表达式2。若表达式的值为真,则执行循环语句;若表达式的值为假,则执行for语句的下一条语句。,第三
2、步:求解表达式3,执行第二步。,依次将10个数输入,要求将其中最大的数输出。 分析:输入? 输出? 处理方法?,10个数 1个(最大值) 比较,保留每次比较的最大值,89 105 630 10 25 74 56 2 1 第一步:15,89 ? 89 第二步:89,105 ?105 第三步:105,630 ? 630 ,用t存放每次比较的最大值 用x存放要比较的值 tx ?t=x,依次将10个数输入,要求将其中最大的数打印出来。,用t存放最大值 用x存放要比较的值 tx ?t=x,1、输入1个数,存放到t中(输入t) 2、输入1个数,存放到x中 3、tx ? t=x 4、输入1个数,存放到x中
3、5、tx ? t=x 重复2、3步(重复执行多少次?) 最后输出t,依次将10个数输入,要求将其中最大的数打印出来。,用t存放最大值 用x存放要比较的值 tx ?t=x,步骤: 1、输入1个数,存放到t中(输入t) 2、输入1个数,存放到x中 tx ? t=x 重复9次即,i=1,2,3,9 3、最后输出t,判断x(x3)是否是素数。(标记法) 步骤:1、输入x 2、a=1(1表示素数,0表示非素数) 3、x%i= =0(i=2,3,4,sqrt(x), 成立 a=0 4、如果a的值为1,输出“是素数” 否则输出“不是素数”,打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字
4、立方和等于该数本身。 分析:输入? 输出? 处理方法?,无 水仙花数 求出各位数字,a=x/100 b=(x-a*100)/10 c=x%10 x= =a*a*a+b*b*b+c*c*c 成立 输出x x=100,101,102,999,打印出1000以内所有的“完数”。所谓“完数”是指一个数恰好等于它的因子之和。 分析:输入? 输出? 处理方法?,无 完数 求因子之和,a=0 if(x%i= =0) a=a+i; i=1,2,3,x-1 if(x= =a) printf(“%5d”,x); x=1,2,3,1000,求两个数m和n的最大公约数。 分析:输入? 输出? 处理方法?,m,n t(
5、最大公约数) 辗转相除法 例如:求32和3的最大公约数 32%3值为2 3%2值为1 2%1值为即最大公约数为,最小公倍数m*n/最大公约数,求方程式ax2+bx+c=0的根。 分析:输入? 输出? 处理方法?,a,b,c 根x1,x2 利用求根公式求,1、输入a,b,c 2、求y=b*b-4*a*c 3、y=0 x1=x2=-b/(2*a) 4、y0 x1=(-b-sqrt(y)/(2*a) x1=(-b-sqrt(y)/(2*a) 5、y0 x1=-b/(2*a) x2=sqrt(-y)/(2*a) 求出x1,x2就输出 当y0时,x1为实部,x2为虚部 参见书109页,给一个不多于5位的
6、正整数,要求:求出它是几位数;分别打印出每一位数字;按逆序打印出各位数字,例如原数为321,应输出123 分析:输入? 输出? 处理方法?,x 位数、每位数字、按逆序输出 用除和求余,若 x=123 方法1:a=x/100 b=(x-a*100)/10 c=x%10,方法2:c=x%10 b=x/10%10 a=x/10/10%10,求Fibonacci数列前20个数。这个数列的特点是:第1、2两个数为1、1,从第三个数开始,每个数等于前两个数的和。 分析:输入? 输出? 处理方法?,无 20个数 利用前两个数求得第三个数后,立刻输出。,1、a=b=1 2、输出a,b 3、c=a+b 4、输出
7、c 5、为求下一个c作准备:a=b b=c,3、4、5反复执行18次 即i=3,4,20,可不可以控制每行输出的个数?,输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 分析:输入? 输出? 处理方法?,一行字符(如何表示?) a(英文) b(空格) c(数字) d(其他) 输入一个字符,判断一个字符 (什么时候结束?) 遇到n结束,输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。,1、a=b=c=d=0 2、输入一个字符x 3、x=aj=4;j+) ,for(ii=1;ii=i;ii+) printf(“ “); for(kk=1;kk=k;kk+) pr
8、intf(“*”); printf(“n”);,i和k的初值、终值及变化规律?,第1行:3个空格,1个星号 第2行:2个空格,3个星号 第3行:1个空格,5个星号 第4行:0个空格,7个星号 第j行:输出i个空格,k个星号 j=1,2,3,4,for(j=1;j=4;j+) ,for(ii=1;ii=i;ii+) printf(“ “); for(kk=1;kk=k;kk+) printf(“*”); printf(“n”);,i和k的初值、终值及变化规律?,i=3;k=1;,i-; k=k+2,for(j=1;j=4;j+) ,for(ii=1;ii=i;ii+) printf(“ “); for(kk=1;kk=k;kk+) printf(“*”); printf(“n”);,i=3;k=1;,i-; k=k+2,for(i=3,k=1,j=1;j=4;j+,i-,k=k+2) for(ii=1;ii=i;ii+) printf(“ “); for(kk=1;kk=k;kk+) printf(“*”); printf(“n”); ,六、提前结束循环的语句,1、break;,结束循环,执行循环语句的下一条语句。,2、conti
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论