joj2318

 2318: Diamond
Result TIME Limit MEMORY Limit Run Times AC Times JUDGE
3s 16384K 1552 578 Standard

Draw a diamond shape with character '*'.

Input

There are several lines in the input, each line is a integer N(N<100), N is zero means the end of input.

Output

For each line of input, draw a diamond whose width is N like sample. Notice there is no unnecessary spaces after '*' in the same line.

Output a blank line after each case.

Sample Input

3
0

Sample Output

  *
 ***
*****
 ***
  *
 

 

/* 本人代码: #include<iostream> #include<string> using namespace std;

int main() {     int i, n;  while(cin>>n,n)  {   for(i=1;i<n;i++)   {     cout<<string((n-i),' ');        cout<<string(2*i-1,'*')<<endl;      }   for(i=n;i>=1;i--)   {     cout<<string((n-i),' ');        cout<<string(2*i-1,'*')<<endl;      }   cout<<endl;  }    return 0; }*/

#include<stdio.h> #include<memory.h> char s1[201],s2[201]; int main() {  int n,i,p,k,temp,x,y;  memset(s1,' ',sizeof(s1));  memset(s2,'*',sizeof(s2));  s1[200]=s2[200]='\0';  while(scanf("%d",&n),n)  {   k=n*2-1;   for(i=1,p=n-1;i<=k;i++,p--)   {    x=p>0?p:-p;    temp=i<n?n-i:i-n;    y=(n-temp)*2-1;    printf("%s",s1+200-x);    puts(s2+200-y);   }   putchar('\n');  }  return 0; }

阅读更多
个人分类: joj
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭