在VC中错误不能重新输入。devc中可以。
#include<stdio.h>
int main()
{
char c;
int n;
do
{
printf("\nplease enter :");
scanf("%d,%c",&n,&c);
}while(c>'z'||c<'A'||c>'Z'&&c<'a');
for(int i=0;i<n;i++)
{
int k=n-i-1;
while(k--)
printf(" ");
if(i==0)
printf("%c",c);
else
{
int j=i*2-1;
if(c+i>'z')
printf("%c",c+i-26);
else
printf("%c",c+i);
while(j--)
printf(" ");
if(c+i>'z')
printf("%c",c+i-26);
else
printf("%c",c+i);
}
printf("\n");
}
i=i-2;
for(;i>=0;i--)
{
int k=n-i-1;
while(k--)
printf(" ");
if(i==0)
printf("%c",c);
else
{
int j=i*2-1;
if(c+i>'z')
printf("%c",c+i-26);
else
printf("%c",c+i);
while(j--)
printf(" ");
if(c+i>'z')
printf("%c",c+i-26);
else
printf("%c",c+i);
}
printf("\n");
}
}