用C语言写情书

 

   用C语言写情书   

 

  大一的时候喜欢一个女孩,非常非常喜欢……

  这封情书代码是我在大一的时候写的,灵感源于一道ACM题目——“螺旋矩阵”。

 

  1 #include<stdio.h>
  2 #include<string.h>
  3 
  4 
  5 void print_1(char m[][66], int h, int k, int n)
  6 // print       'L'
  7 {
  8     int b[2],y;
  9     n=n+1;
 10     h=h-2;
 11     k=k-1;
 12     b[0]=h;
 13     b[1]=k+1;
 14 
 15     for(y=0;y<2*n-1;y++)
 16     {
 17         b[y/(n-1)]++;
 18         m[b[0]][b[1]]=3;
 19     }
 20     m[b[0]][b[1]]=0;
 21 }
 22 
 23 void print_2(char m[][66], int h, int k, int n)
 24 // print     '7'
 25 {
 26     int b[2],y;
 27     n=n+1;
 28     h=h-1;
 29     k=k-1;
 30     b[0]=k;
 31     b[1]=h;
 32 
 33     for(y=0;y<2*n-1;y++)
 34     {
 35         b[y/(n-1)]++;
 36         m[b[1]][b[0]]=3;
 37 
 38     }
 39     m[b[1]][b[0]]=0;
 40 }
 41 
 42 void print(char m[][66], int h, int k, int n, int f)   // print_1的print_2的合成
 43 {
 44     int b[2],y;
 45 
 46     h=h+1;
 47     k=k-1;
 48     b[0]=h-1;
 49     b[1]=k;
 50 
 51     for(y=0;y<2*n-1;y++)
 52     {
 53         b[y/(n+1)]=b[y/(n+1)]+f;
 54         m[b[0]][b[1]]=3;
 55     }
 56 }
 57 
 58 void print_3(char m[][66], int h, int k, int n)
 59 // print    '-'
 60 {
 61     int t;
 62 
 63     k=k-1;
 64     h=h-1;
 65 
 66     for(t=0;t<n;t++)
 67         m[h][k+t]=3;
 68 }
 69 
 70 void print_4(char m[][66], int h, int k, int n)
 71 // print   '|'
 72 {
 73     int t;
 74 
 75     k=k-1;
 76     h=h-1;
 77 
 78     for(t=0;t<n;t++)
 79         m[h+t][k]=3;
 80 }
 81 
 82 void print_5(char m[][66], int h, int k, int n)
 83 // print  '/'
 84 {
 85     int t,p;
 86 
 87     h=h-n;
 88     k=k-1;
 89 
 90     for(t=0;t<n;t++)
 91         for(p=0;p<n;p++)
 92             if(p+t==n-1)
 93                 m[t+h][p+k]=3;
 94 
 95 }
 96 
 97 void print_6(char m[][66], int h, int k, int n)
 98 // print    '\'
 99 {
100     int t,p;
101 
102     h=h-1;
103     k=k-1;
104 
105     for(t=0;t<n;t++)
106         for(p=0;p<n;p++)
107             if(t==p)
108                 m[t+h][p+k]=3;
109 }
110 
111 int main()
112 {
113     char c[26]={0};
114     char a[100][66]={0};
115 
116     int i,q,w=0,j,l,s=0;
117 
118     //程序的输出结果已用 ASCII 码“加密".
119     printf("\n\t\t\tSpecially writting for you ");
120     printf("\n\n\n\t@. The result has been encrypted by using ASCII;\n\n\t ");
121     printf("Enter your name and the last four numbers of your birthday\n");
122     printf("\t\t(just for example : huzhenyang0520);");
123     //为了不影响输出,请先将输出框的属性改为:宽度(缓存区和窗口)156.
124     printf("\n\n\t@. In order to see clear ,"
125            "modify the width of the output window: width 156. \n\n");
126     printf("\t   Now enter your password :\t");
127 
128     gets(c);
129     l=strlen(c);
130     for(q=0;q<l;q++)
131         s=s+c[q];
132 
133     if(s==1398)
134     {
135         print_5(a,c[13]-38,12,9);
136         print_3(a,3,c[6]-90,6);         // 内层
137         print_6(a,3,27,c[5]-89);
138         print_5(a,11,c[8]-70,8);
139         print_3(a,3,c[7]-70,6);
140         print_6(a,3,c[12],9);
141         print_4(a,12,c[3]-62,c[7]-103);
142         print_4(a,c[7]-101,12,10);
143         print_6(a,22,12,c[10]-80);
144         print_5(a,c[8]-60,35,24);
145 
146 
147         print_5(a,11,11,10);
148         print_3(a,c[9]-109,21,6);
149         print_6(a,1,c[5]-70,8);
150         print_5(a,9,c[4]-70,8);
151         print_3(a,c[9]-109,43,6);       // 外层
152         print_6(a,1,49,c[6]-100);
153         print_4(a,c[7]-101,60,10);
154         print_4(a,12,10,c[10]-93);
155         print_6(a,c[12]-27,10,25);
156         print_5(a,47,c[4]-70,26);
157 
158 
159         print_6(a,16,28,4);
160         print_6(a,c[5]-77,27,4);
161         print_5(a,30,26,c[8]-99);
162         print_3(a,18,34,c[10]-96);
163         print_3(a,c[6]-90,35,5);
164         print_3(a,24,33,c[5]-88);       // qing
165         print_4(a,14,37,11);
166         print_4(a,c[10]-76,35,11);
167         print_3(a,27,35,c[8]-100);
168         print_4(a,c[10]-76,39,11);
169         print_3(a,c[10]-73,35,c[8]-100);
170         print_3(a,33,35,5);
171 
172 
173         print(a,60,12,5,c[9]-109);      // O
174         print(a,67,15,5,109-c[9]);
175 
176         print_4(a,62,c[10]-86,c[8]-99); // N
177         print(a,67,20,c[8]-100,-1);
178 
179         print_4(a,c[12]+7,22,12);       // L
180         print_3(a,c[14]+13,22,4);
181 
182         print(a,60,27,c[8]-100,1);      // Y
183         print_4(a,62,30,c[7]-101);
184         print_3(a,73,27,c[14]-50);
185 
186         print(a,60,37,5,c[6]-110);
187         print_4(a,62,40,12);            // Y
188         print_3(a,73,37,4);
189 
190         print(a,60,42,5,1);
191         print(a,67,45,c[8]-100,-1);     // O
192 
193         print(a,60,47,c[8]-100,1);      // U
194         print_4(a,62,50,c[8]-99);
195 
196         print_4(a,58,58,10);
197         print_4(a,58,59,c[9]-100);      // |
198 
199         print_4(a,70,58,2);
200         print_4(a,70,59,2);             //
201 
202         print(a,82,26,4,-1);
203         print_3(a,82,24,3);             // 2
204         print(a,80,24,4,1);
205 
206         print_4(a,78,29,9);             // 0
207         print_3(a,86,29,4);
208         print_3(a,78,29,4);
209         print_4(a,78,32,9);
210 
211         print_4(a,78,35,9);             // 1
212 
213         print_4(a,78,38,9);
214         print_3(a,86,38,4);
215         print_3(a,78,38,4);             // 0
216         print_4(a,78,41,9);
217 
218         print_4(a,90,40,10);
219         print_3(a,90,40,4);
220         print_5(a,93,40,4);
221         print_6(a,92,40,4);
222         print_5(a,98,40,4);             // yang
223         print_4(a,90,45,10);
224         print_3(a,90,45,4);
225         print_4(a,90,48,10);
226         print_3(a,94,45,4);
227         print_3(a,99,45,4);
228 
229         print_6(a,c[1]-20,55,3);
230         print_4(a,c[5]-7,58,4);
231         print_5(a,93,59,c[4]-102);      // guang
232         print_3(a,93,c[5]-43,9);
233         print_5(a,99,c[10]-50,5);
234         print_4(a,93,59,  c[8]-99);
235         print_3(a,c[9]-11,59,5);
236 
237         // printf(" *");                // 基准点
238         printf("\n\n\n\n\n\n");
239 
240         for(i=0;i<100;i++)
241         {
242             printf("\n");
243             for(j=0;j<66;j++)
244                 printf("%2c",a[i][j]);
245         }
246         printf("\n\n\n\n\n\n\n");
247     }
248     else
249         printf("\n\n\t Sorry ! This is not writting for you ......\n\n");
250 
251     printf("\n\n\n\t\t\t 阳光boy 原创 (*^_^*)!!!\n\n");
252     getchar();
253 
254     return 0;
255 }

 

输出截图:

 

 

 

  我把封“情书”放在了QQ空间上,可是她从来都没有进过我的空间。

 

 

 

posted @ 2012-06-10 11:58  hp+y  Views(17027)  Comments(6Edit  收藏  举报