同时还有另外一种
printf("%*s",int width,"内容"),如果width大于“内容”的宽度是时候输出width的宽度;否则按照‘内容‘的宽度输出
例如:
printf("%*s\n",3,"******");
输出******;(3<6所以输出6位);
printf("%*s",8,"******");
输出:
[][]******([]代表空格,8>6所以输出8位)
转载的
雁无留踪之意,水无取影之心
#include<stdio.h>
main()
{
int n;
int i,j,k,flag; /*flag为标记*/
printf("n=");
scanf("%d",&n);
for(k=1;k<=n;k++)
{
for(i=0;i<n-k;i++)
printf(" ");
for(j=0;j<k;j++)
{
if(flag==1 && k>n-2)
{
printf("\r");
flag=0;
} /*控制后边的规律*/
printf("* ");
}
printf("\n");
flag=1;
}
getch();
}
再次谢谢大家,我自己也想了一个:
1.main()
{ int i,j=1,n;
printf("please input n as row\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=1;j<=n;j++)
{
if(j<n-i)
printf(" ");
else
printf("* ");
}
printf("\n");
}
getch();
}
2.main()
{ int i,j=1,n;
printf("please input n as row\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=1;j<=n+i;j++)
{
if(j<n-i)
printf(" ");
else
printf("*");
}
printf("\n");
}
getch();
}