- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
字符图形
例1:*号图形(打印行数n由键盘输入)
分析(2)号图形:
从第1行打印到第n行,打印第i行时(i从1~n),首先打印n-i个空格;接着打印i个*号;换行;分析:(6)号图形:
打印第i行(i从1~n)时,首先打印i-1个空格;接着打印2(n-i)+1个*号;换行;#includestdio.h
voidmain(){打/*印(2)号图形*/intn,i,j;
printf(Inputn=);scanf(%d,n);
for(i=1;i=n;i++){for(j=1;j=n-i;j++)
putchar();for(j=1;j=i;j++)
putchar(*);
printf(\n);
}
}
例2:打印如下数字方阵(打印行数n可输入)
12
3
4
5
22
3
4
5
33
3
4
5
44
4
4
5
55
5
5
5
(1)
特点:每行主对角线之前打印行号,主对角线之后打印列号#includestdio.h
voidmain(){inti,j,n;
printf(Inputn=);scanf(%d,n);
for(i=1;i=n;i++){for(j=1;j=i;j++)
printf(%4d,i);
for(j=i+1;j=n;j++)printf(%4d,j);
printf(\n);
}
}
12345
23451
34512
45123
51234
(2)
特点:每行主对角线之前从行号打到n;主对角线之后从1打到行号-1#includestdio.h
voidmain(){inti,j,n;
printf(Inputn=);scanf(%d,n);
for(i=1;i=n;i++){for(j=i;j=n;j++)
printf(%4d,j);for(j=1;j=i-1;j++)
printf(%4d,j);
printf(\n);
}
}
思考:图形位置向屏幕左边移动m列,以及图形位置放在屏幕中央该怎么办?例3:打印n阶杨辉三角形(n由键盘输入)
分析:杨辉三角形的第i行(i从0~n)是i次二项式(x+y)i的展开系数
递推法计算组合数
#includestdio.hvoidmain(){
intc,n,i,j;printf(Inputn=);scanf(%d,n);
for(i=0;i=n;i++){for(j=0;jn-i;j++)
printf(%4c,);c=1;
for(j=0;j=i;j++){printf(%4d,c);
printf(%4c,);
c=c*(i-j)/(j+1);
/*可以写成c*=(i-j)/(吗j?+*/1)
}
printf(\n);
}
}
文档评论(0)