级别: 管理员

- UID1
- 精华
0
- 发帖37
- 财富30 点
- 威望113 点
- 贡献值0 点
- 银元0 块
- 好评度0 点
- 在线时间5(时)
- 注册时间2010-05-29
- 最后登录2010-08-19
|
更多操作▼
[分享]
用c语言打印一个五角星
复制代码-
- #include "stdio.h"
- void print(int(*p)[62])
- {
- int i,i2=0,j,j2=49;
- for(i=0;i<20;i++)
- {
- printf(" ");
- for(j=0;j<62;j++)
- {
- if(i==i2||i==i2+1)
- if(j>j2&&j<j2+13)
- continue;
- if(*(*(p+i)+j)==1||*(*(p+i)+j)==2)
- printf("*");
- else if(*(*(p+i)+j)==3||*(*(p+i)+j)==4)
- printf("*");
- else
- printf(" ");
- }
- printf(" \n");
- }
- }
- void star(int (*p)[62],int i,int j,int n)
- {
- int k,l,a,b;
- for(k=0;k<18;k++,i++,j++)
- {
- *(*(p+i)+j)=n;
- if(k>7&&k<11)
- *(*(p+i)+j)=0;
- }
- i--,j--;
- for(k=0;k<11;k++,i--,j-=4)
- {
- *(*(p+i)+j)=n;
- if(k>4&&k<7)
- *(*(p+i)+j)=0;
- }
- i++,j+=4;
- for(k=0;k<47;k++,j++)
- {
- *(*(p+i)+j)=n;
- }
- j--;
- for(k=0;k<11;k++,i++,j-=4)
- {
- *(*(p+i)+j)=n;
- if(k>3&&k<6)
- *(*(p+i)+j)=0;
- }
- i--,j+=4;
- for(k=0;k<18;k++,i--,j++)
- {
- *(*(p+i)+j)=n;
- if(k>6&&k<10)
- *(*(p+i)+j)=0;
- }
- i++,j--;
- a=i,b=j;
- i++,j++;
- for(k=1;k<17;k++,i++,j++)
- for(l=j-1;*(*(p+i)+l)!=n;l--)
- *(*(p+i)+l)=n+1;
- i=a,j=b;
- i++,j--;
- for(k=1;k<17;k++,i++,j--)
- for(l=j+1;*(*(p+i)+l)!=n;l++)
- *(*(p+i)+l)=n+1;
- }
- int main()
- {
- int a[20][62]={0};
- star(a,2,25,3);
- print(a);
- return 0;
- }
| VHW`NP 5Jl _IxamWpX$ >$uUuiyL4
图片:100526114033a6eb99fd85fa82.jpg
|