输出正三角形
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);//三角形高度
for(int i=0;i<n;i++)
{
for(int j=n-i-1;j>0;j--)
printf(" ");
for(int j=0;j<2*i+1;j++)
printf("*");
printf("\n");
}
return 0;
}
输出倒三角形
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);//三角形高度
for(int i=0;i<n;i++)
{
for(int j=0;j<i;j++)
printf(" ");
for(int j=0;j<(n-i)*2-1;j++)
printf("*");
printf("\n");
}
return 0;
}
输入*个数 输出沙漏状 并输出剩余数
#include<stdio.h>
#include<math.h>
int main()
{
int N,n,k,m;
scanf("%d",&N);
n=(N/2-1)*2+1;
k=N-n;
m=(int)sqrt((double)(n/2+1));
for(int i=0;i<m;i++)
{
for(int j=0;j<i;j++)
printf(" ");
for(int j=0;j<(m-i)*2-1;j++)
printf("*");
printf("\n");
}
m=m-1;
for(int i=0;i<m;i++)
{
for(int j=m-i-1;j>0;j--)
printf(" ");
for(int j=0;j<2*i+3;j++)
printf("*");
printf("\n");
}
printf("%d\n",k);
return 0;
}
另一个
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,n,m,t;
char a;
scanf("%d %c",&n,&a);
n-=1;
m=1;
while(n-2*(m+2)>=0)
{m+=2;
n-=2*m;
}
t=m/2;
for(i=0;i<m;i++)
{
for(j=0;j<t-fabs(i-t);j++)
printf(" ");
for(j=0;j<fabs(i-t)*2+1;j++)
printf("%c",a);
printf("\n");
}
printf("%d\n",n);
return 0;
}
输入*个数 输出菱形 并输出剩余数
#include<stdio.h>
int main()
{
int n,m=0;
scanf("%d",&n);
while(2*m*m<n)
m++;
for(int i=0;i<m;i++)
{
for(int j=m-i-1;j>0;j--)
printf(" ");
for(int j=0;j<2*i+1;j++)
printf("*");
printf("\n");
}
m=m-1;
for(int i=0;i<m;i++)
{
for(int j=0;j<=i;j++)
printf(" ");
for(int j=0;j<(m-i)*2-1;j++)
printf("*");
printf("\n");
}
m=m+1;
printf("%d\n",n-m*m*2+2*m-1);//n-(2*m*m-(2m-1))
return 0;
}