本文主要是介绍C程序员如何申请加薪?呵呵,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如果老板会编译程序的话,发下面这段代码给他:
#include <stdio.h> int main() { int a,b,c; for (c=0,b=0;a="BCCB{BC@BDBBCEFCCBDECFDDBBCBBBC@BBABABBBCBDBBBBBBBCBBBCBBBBACBABCBC@BBBDBBCBDBBBBBBBCBBBCBBBAAECI@BBCCCEEBBBBBCECBCBCDDBEBC@}BK@"[b++];) for(; a-- > 64 ; ) putchar ( ++c==74 ? c=0,10 : b&1?32:36); return 0; }
执行结果:
怎么样?主意不错吧?祝你成功!
上面程序的数字74是换行符所在的位置,其它数字找一个ASCII码表对照着看就明白了。弄懂之后,就可以随心所欲地实现其它显示效果了,关键是上面的字符串是怎样产生的呢?请看下面的程序,注释足够清晰了,不解释:
#include <stdio.h> int main() { char signature[6][128]; strcpy(signature[0], "$$ $$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$"); strcpy(signature[1], "$$ $$ $$$ $$$$$$ $$$ $$$$ $$$ $$$$ $$ $$$ $$ $$"); strcpy(signature[2], "$$ $ $ $$ $$$ $$$$ $$ $$ $$ $$$ $$ $$$ $$ $$ $$$ $ $$$ $$"); strcpy(signature[3], "$$ $$ $$ $$$ $$$$ $$ $$ $$ $$$ $$ $$$ $$ $ $$$$$ $$$$$$$$"); strcpy(signature[4], "$$ $$$ $$$ $$$$$ $$ $$ $$$ $$$ $$$ $$$ $$$$ $$$$$ $$"); strcpy(signature[5], "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$"); char output[256]; memset(output, 0, sizeof(output)); int i, j = 0; for (i = 0; i < 6; i++) { char *p = signature[i]; while ( p ) { char *p1 = strchr(p, ' '); if ( p1 ) { output[j++] = p1 - p + 64; // assume every line ends with $, p always not null p = strchr(p1, '$'); output[j++] = p - p1 + 64; } else { // +1 for the newline character will "eat" one character output[j++] = strlen(p) + 64 + 1; output[j++] = 64; // end of current line, switch to next line p = NULL; } } } printf("%s\n", output); return 0; }
受ASCII码取值范围的限制,这种小伎俩不适宜显示太复杂的效果
这篇关于C程序员如何申请加薪?呵呵的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!