Description
Input
Output
Sample Input
X 2 A 7 @
Sample Output
X XXX A A A A A A A A A A A AAAAAAAAAAAAA
#include <stdio.h>
#include <string.h>
int main()
{
char c;
int n;
int t=0;
while(scanf("%c",&c)&&c!='@')
{
t++;
scanf("%d",&n);
getchar(); //接收n
if(t!=1)
printf("\n");
if(n==1)
{
printf("%c\n",c);//若输出为一个字符则为单独输出。
continue;
}
int i,j;
int s=0;
for(i=1; i<n; i++) //N-1行,最后一行单独拉出。
{
s++;
for(j=i; j<n; j++)
printf(" "); //分为左右两个部分来输入,左的空格的控制。
printf("%c",c);
for(j=1; j<2*(i-1); j++)
printf(" ");
if(s!=1) //从第二行开始输。
printf("%c",c);
printf("\n");
}
for(i=1; i<=2*n-1; i++) //将最后一行2*n-1输出。
printf("%c",c);
printf("\n");
}
return 0;
代码输入:
#include <stdio.h>
#include <string.h>
int main()
{
char c;
int n;
int t=0;
while(scanf("%c",&c)&&c!='@')
{
t++;
scanf("%d",&n);
getchar(); //接收n
if(t!=1)
printf("\n");
if(n==1)
{
printf("%c\n",c);//若输出为一个字符则为单独输出。
continue;
}
int i,j;
int s=0;
for(i=1; i<n; i++) //N-1行,最后一行单独拉出。
{
s++;
for(j=i; j<n; j++)
printf(" "); //分为左右两个部分来输入,左的空格的控制。
printf("%c",c);
for(j=1; j<2*(i-1); j++)
printf(" ");
if(s!=1) //从第二行开始输。
printf("%c",c);
printf("\n");
}
for(i=1; i<=2*n-1; i++) //将最后一行2*n-1输出。
printf("%c",c);
printf("\n");
}
return 0;
这一题主要是 if(t!=1)
printf("\n");的换行的控制,两个答案间有一个空行,然后根据空格来进行控制输出即可。