c语言打印菱形解析
2010-09-18 18:49 李龙江 阅读(1395) 评论(0) 编辑 收藏 举报
1 #include <stdio.h>
2 void main()
3 {
4 int i,m=1;
5 for(i=0;i<19;i++)
6 {
7 printf("%*s\n",m<=10?10+m:30-m,"*******************"+(m<=10?20-2*m:2*m-20));
8 m++;
9 }
10 }
2 void main()
3 {
4 int i,m=1;
5 for(i=0;i<19;i++)
6 {
7 printf("%*s\n",m<=10?10+m:30-m,"*******************"+(m<=10?20-2*m:2*m-20));
8 m++;
9 }
10 }
// %.*s 其中的.*表示显示的精度 对字符串输出(s)类型来说就是宽度
// 这个*代表的值由后面的参数列表中的整数型(int)值给出
// 例如:
printf("%.*s\n", 1, "abc"); // 输出a
printf("%.*s\n", 2, "abc"); // 输出ab
printf("%.*s\n", 3, "abc"); // 输出abc >3是一样的效果 因为输出类型type = s,遇到'\0'会结束
printf("%*s",3,"abc"+2); //输出3个字符的宽度,后边的+2是前边2个字符用空格替换