《活动一用For...Next语句实现循环结构 (2).ppt》由会员分享,可在线阅读,更多相关《活动一用For...Next语句实现循环结构 (2).ppt(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、循环结构第六章第六章第六章第六章1格式化输出函数的输出格式说明:格式化输出函数的输出格式说明:printf(printf(格式控制,输出列表);格式控制,输出列表);输出格式说明:输出格式说明:%0 0m.nlm.nl格式字符格式字符%输出格式说明的标记符号输出格式说明的标记符号 指定输出对齐方式指定输出对齐方式 指定指定+号或省略时,输出右对齐。号或省略时,输出右对齐。指定指定-号时,输出左对齐。号时,输出左对齐。0 0 空位是否填零空位是否填零 输出数值时,左侧不使用的位置自动填零。输出数值时,左侧不使用的位置自动填零。格式化输出函数格式化输出函数 m.nm.n 输出宽度输出宽度 输出整数
2、时:输出整数时:m m 为占用字符位置的个数。为占用字符位置的个数。输出实数时:输出实数时:m m 指定输出数的总长度,指定输出数的总长度,n n 指定小数部分的长度。指定小数部分的长度。(注意:小数点占用一位。)注意:小数点占用一位。)注意:小数点占用一位。)注意:小数点占用一位。)输出字符串时:输出字符串时:m m 指定占用的位数,指定占用的位数,n n 指定实际输出位数。指定实际输出位数。l l 输出精度输出精度 在格式字符在格式字符 d d、x x、o o、u u 前面加前面加 l l 时,输出时,输出为为32bit 32bit(longlong型)。型)。在在 f f 前加前加l l
3、时,输出为时,输出为6464位(位(doubledouble型)。型)。格式字符确定了输出数据格式:格式字符确定了输出数据格式:d d 十进制整数十进制整数 x x 十六进制整数十六进制整数 o o 八进制整数八进制整数 u u 不带符号的十进制整数不带符号的十进制整数 c c 单个字符单个字符 s s 字符串字符串 f f 小数形式的浮点小数小数形式的浮点小数 e e 指数形式的浮点小数指数形式的浮点小数 g g f f 和和 e e 格式中较短的一种格式中较短的一种例:打印边长为例:打印边长为m m的正方型的正方型要求:从键盘输入要求:从键盘输入n n值,输出值,输出n n行每行行每行n
4、n个个*号。号。例:输入例:输入n=4n=4,输出的图形如下:,输出的图形如下:*按以下思路掌握:按以下思路掌握:屏幕输出一个字符屏幕输出一个字符?屏幕输出一行屏幕输出一行 n n 个字符个字符?屏幕输出屏幕输出 n n 行字符行字符?printf(printf(“*”););for(j=0;j n;j+)for(j=0;j n;j+)for(i=0;i n;i+)for(i=0;i n;i+)l l分析分析 逐步求精法。对于复杂问题,不可能一下得逐步求精法。对于复杂问题,不可能一下得到程序,可以先将简单的部分明确出来,再逐到程序,可以先将简单的部分明确出来,再逐步对复杂部分进行细化,一步一步
5、推出程序。步对复杂部分进行细化,一步一步推出程序。#include#include main()main()int i,j,n;int i,j,n;scanf(scanf(“%d%d”,&n);,&n);for(i=1;i=n;i+)/*for(i=1;i=n;i+)/*控制打印控制打印n n行行*/for(j=1;j=n;j+)for(j=1;j=n;j+)/*/*/*/*打印一行中的打印一行中的打印一行中的打印一行中的n n n n个个个个*号号号号*/printf(printf(“*”);printf(printf(“nn”););例例:打印平行四边形打印平行四边形 要求:从键盘输入要求
6、:从键盘输入h h值,值,输出输出h h行用行用*号组成平行四边形。号组成平行四边形。例:输入例:输入 h=5h=5,输出的图形如下:,输出的图形如下:*#include#include main()main()int i,j,n;int i,j,n;scanf(scanf(”%d%d”,&n);,&n);for(i=1;i=n;i+)for(i=1;i=n;i+)for(j=1;j=n;j+)for(j=1;j=n;j+)printf(printf(”*”);printf(printf(”nn”););*输出若干空格;输出若干空格;for(j=1;j=n;j+)for(j=1;j=n;j+)
7、printf(printf(”*”);printf(printf(”nn”););for(j=1;ji;j+)printf(for(j=1;ji;j+)printf(”);#include#include main()main()int i,j,n;int i,j,n;scanf(scanf(”%d%d”,&n);,&n);for(i=1;i=n;i+)for(i=1;i=n;i+)for(j=1;ji;j+)for(j=1;ji;j+)printf(printf(”);for(j=1;j=n;j+)for(j=1;j=n;j+)printf(printf(”*”);printf(printf
8、(”nn”););*for(j=1;j ;for(j=1;j ;j+)j+)=n n-i i#include#include main()main()int i,j,n;int i,j,n;scanf(scanf(”%d%d”,&n);,&n);for(i=1;i=n;i+)for(i=1;i=n;i+)for(j=1;jn-i;j+)for(j=1;jn-i;j+)printf(printf(”);for(j=1;j=n;j+)for(j=1;j=n;j+)printf(printf(”*”);printf(printf(”nn”););*2*2*i-1;i-1;#include#inclu
9、de main()main()int i,j,n;int i,j,n;scanf(scanf(”%d%d”,&n);,&n);for(i=1;i=n;i+)for(i=1;i=n;i+)for(j=1;j n-i;j+)for(j=1;j n-i;j+)printf(printf(”);for(j=1;j=2*i-1;j+)for(j=1;j=2*i-1;j+)printf(printf(”*”);printf(printf(”nn”););*i i2*(n-i)+1;2*(n-i)+1;*m行行m-1行行上下部上下部上下部上下部分规律不一分规律不一分规律不一分规律不一致的图形分致的图形分致的
10、图形分致的图形分开处理开处理开处理开处理main()main()main()main()int I,j,n;int I,j,n;int I,j,n;int I,j,n;scanf(scanf(scanf(scanf(“%d%d%d%d”,&n);,&n);,&n);,&n);for(i=1;i=n;i+)for(i=1;i=n;i+)for(i=1;i=n;i+)for(i=1;i=n;i+)for(j=1;j=n-i;j+)for(j=1;j=n-i;j+)for(j=1;j=n-i;j+)for(j=1;j=n-i;j+)printf(printf(printf(printf(“););)
11、;);for(j=1;j=2*i-1;j+)for(j=1;j=2*i-1;j+)for(j=1;j=2*i-1;j+)for(j=1;j=2*i-1;j+)printf(printf(printf(printf(“*”);printf(printf(printf(printf(“nnnn”););););打印字符图形总结打印字符图形总结打印字符图形总结打印字符图形总结 外层循环控制打外层循环控制打外层循环控制打外层循环控制打印图形的行数,循环印图形的行数,循环印图形的行数,循环印图形的行数,循环量即是行数。量即是行数。量即是行数。量即是行数。循环体内循环体内循环体内循环体内是一行内打印是一行
12、内打印是一行内打印是一行内打印的各种字符。的各种字符。的各种字符。的各种字符。循环体内最后一条语句是回车换循环体内最后一条语句是回车换循环体内最后一条语句是回车换循环体内最后一条语句是回车换行,决定以上内容为一行。行,决定以上内容为一行。行,决定以上内容为一行。行,决定以上内容为一行。一种连续字符用一一种连续字符用一一种连续字符用一一种连续字符用一个循环,字符的个数用个循环,字符的个数用个循环,字符的个数用个循环,字符的个数用循环次数控制。循环次数控制。循环次数控制。循环次数控制。特殊情况特特殊情况特特殊情况特特殊情况特殊处理殊处理殊处理殊处理main()main()main()main()i
13、nt k,m,j;int k,m,j;int k,m,j;int k,m,j;scanf(scanf(scanf(scanf(“%d%d%d%d”,&m);,&m);,&m);,&m);for(k=1;k=m;k+)for(k=1;k=m;k+)for(k=1;k=m;k+)for(k=1;k=m;k+)printf(printf(printf(printf(“nnnn”););););*if(k=1|k=m)if(k=1|k=m)if(k=1|k=m)if(k=1|k=m)for(j=1;j=2*k-1;j+)for(j=1;j=2*k-1;j+)for(j=1;j=2*k-1;j+)for
14、(j=1;j=2*k-1;j+)printf(printf(printf(printf(“*“););););elseelseelseelse for(j=1;j=m-k;j+)printf(for(j=1;j=m-k;j+)printf(for(j=1;j=m-k;j+)printf(for(j=1;j=m-k;j+)printf(“););););printf(printf(printf(printf(“*”););););for(j=1;j=2*k-1-2;j+)for(j=1;j=2*k-1-2;j+)for(j=1;j=2*k-1-2;j+)for(j=1;j=2*k-1-2;j+)printf(printf(printf(printf(“”);printf(printf(printf(printf(“*”););););