欢迎来到天天文库
浏览记录
ID:50676146
大小:54.50 KB
页数:11页
时间:2020-03-13
《打印菱形问题代码整理.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、打印菱形问题代码整理(五种解法)整理了下下这两天关于输出菱形的代码,希望可以打开大家的思路举一反三对初学者来说是制胜的法宝,希望可以加精让更多的人学习。PS:除了解法四、解法五是我写的,其他是引用广陵绝唱和雨中飞燕的代码。如果代码作者对我的引用感到不快,请给我站内信,我会删掉如果有时间我再把菱形大小做成可以控制的/**************************************问题:输出如下一个菱形 * * * * ** * * * * * *****************
2、**********************//**************************************解法一: 常规思路解法 codeby广陵绝唱**************************************/#includeintmain(void){ inti,j; for(i=1;i<=4;++i) { for(j=1;j<=10-i;++j) printf("");
3、 printf("*"); for(j=1;j<=2*i-3;++j) printf(""); if(i==1) { puts(""); continue; } printf("*"); puts(""); } for(i=3;
4、i>=1;--i) { for(j=1;j<=10-i;++j) printf(""); printf("*"); for(j=1;j<=2*i-3;++j) printf(""); if(i==1) break; printf("*"); puts(
5、""); } getch();}/**************************************解法二: 基于条件判断输出不同字符 codeby雨中飞燕**************************************/#include#defineABS(a) (a<0?-a:a)#defineN 3intmain(){ inti,j; for(i=-N;putchar(''),i<=N;++i)for(j=-N;j<=N;++j) if(ABS(i)+ABS
6、(j)==N)putchar('*');elseputchar(''); return0;}/**************************************解法三: 基于格式字符串 codeby雨中飞燕**************************************/#include#defineABS(a) (a<0?-a:a)#defineJ ABS(i)#defineN 3intmain(){ inti;char*p="*"; for(i=-N;i<=N;++i) pri
7、ntf("%*s%*s",J+1,p,(N-J)*2,&p[J==N]); return0;}/**************************************解法四: 基于格式字符串 codebymoonwalker说明:开始没有想到好的办法,用了这个超常的字符串读取字符**************************************/#includeintmain(){ inti,m; for(i=1,m=1;i<8;i++,m=i-(i/4)*(i%4)*2) printf("
此文档下载收益归作者所有