/**/
/*根据用户输入的字符和宽度画出一个空心的菱形*/
#include < stdio.h >
#include < stdlib.h >
void main()
... {
int i,j,k,num;
char ch;
system("cls");//清屏
printf("Please enter a number: ");
scanf("%d",&num);//提示用户输入宽度
printf("Please enter a char: ");
fflush(stdin);//清除缓冲区
scanf("%c",&ch);//提示用户输入要打印的字符
for(i=1;i<=num;i++)//循环打印上半部分
...{
for(j=num-i;j>=0;j--)
...{
putchar(' ');
}
for(j=1;j<=2*i-1;j++)//根据判断将第1行和最后1行采用挖空法打印出菱形的上半部分
...{
if(j==1||j==2*i-1)
...{
printf("%c",ch);
}
else
...{
putchar(' ');
}
}
putchar(' ');
}
for(i=num-1;i>=1;i--)//打印出菱形的下半部分
...{
for(j=0;j<=num-i;j++)
...{
putchar(' ');
}
for(j=1;j<=2*i-1;j++)//根据判断将第1行和最后1行采用挖空法打印出菱形的下半部分
...{
if(j==1||j==2*i-1)
...{
printf("%c",ch);
}
else
...{
putchar(' ');
}
}
putchar(' ');
}
getch();
}
#include < stdio.h >
#include < stdlib.h >
void main()
... {
int i,j,k,num;
char ch;
system("cls");//清屏
printf("Please enter a number: ");
scanf("%d",&num);//提示用户输入宽度
printf("Please enter a char: ");
fflush(stdin);//清除缓冲区
scanf("%c",&ch);//提示用户输入要打印的字符
for(i=1;i<=num;i++)//循环打印上半部分
...{
for(j=num-i;j>=0;j--)
...{
putchar(' ');
}
for(j=1;j<=2*i-1;j++)//根据判断将第1行和最后1行采用挖空法打印出菱形的上半部分
...{
if(j==1||j==2*i-1)
...{
printf("%c",ch);
}
else
...{
putchar(' ');
}
}
putchar(' ');
}
for(i=num-1;i>=1;i--)//打印出菱形的下半部分
...{
for(j=0;j<=num-i;j++)
...{
putchar(' ');
}
for(j=1;j<=2*i-1;j++)//根据判断将第1行和最后1行采用挖空法打印出菱形的下半部分
...{
if(j==1||j==2*i-1)
...{
printf("%c",ch);
}
else
...{
putchar(' ');
}
}
putchar(' ');
}
getch();
}