学,贵在坚持!
分页: 1/55 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]

[置顶] 此域名即将作废,即将启用新域名ldsea.info 不指定

海蓝 , 2010/02/23 10:47 , About Me , 评论(2) , 阅读(110) , Via 本站原创

[置顶] 开心网助手-自动停车自动咬人 不指定

海蓝 , 2009/07/11 15:21 , HaiLan Software , 评论(2) , 阅读(912) , Via 本站原创
最新版本是2.2
之前的校内网相册批量下载工具已经失效了(详见http://ldsea.cn/xiaonei-album/),校内网更换了域名,登陆以及相册的URL均发生了变化,昨天已经修复了之前的软件,并添加了一个工具,可以选择相册图片的名字方式,一种是按照原有图片的名字,另一种是按照以相册的名字为前缀的下载,看个人喜好来选择。
界面以及使用如下所示:

点击在新窗口中浏览此图片
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片
最新版本是2.2
今天和我新浪微博的一位好友Misacat聊起了C语言,用C语言打印一个菱形,今天上午抽空写了写,好久没有写C语言,竟生疏了很多...
其实这些打印类的问题,都能用一个固定的方法来做,我把它叫做“公式法”,打印类的题目都可归结为在一个平面打印一个图形,这个图形由星号组号。再进一步说,无非就是两种情况,打印一个空格,或者打印一个星号。不同的打印空格和星号的规则不同,就打印成了不同的图形。说到这里就更好理解了,一个平面图形是由什么构成的?就是纵坐标和横坐标,将它们定义为两个变量,i和j.这样任何的打印问题都可以由两个for循环来做
for(int i=0;i<M;i++){//这个是扫描i即纵坐标,就构成了一条线
   for(int j=0;j<N;j++){//这个是在定了一个i的情况下,再扫描横坐标,
                         //这样就构成了一个面
       method(){}:
    }
}
那个method()方法其实在定义了一个i即横坐标之后,相应的纵坐标的规则,一般的打印都是有规则的,有了i,一定有个相应的规则来求出j。不会有人无聊到打印一个毫无规律的东东吧。即一定可以写出 j = getJMethod(i);这样的一个方法。
有了j=getJMethod(i);的方法就好办了,在内层循环里一个一个匹配吧,如果符合j=getJMethod(i)的,就打印一个星号,如果不符合,就打印一个空格。如下所示:
for(int i=0;i<M;i++){//这个是扫描i即综坐标,就构成了一条线
   for(int j=0;j<N;j++){//这个是在定了一个i的情况下,再扫描横坐标,
                         //这样就构成了一个面
       method(){
          if(j==getJMethod(i)) print("*");
          else print(" ";)
       }
    }
    print("\n");//打印完一整行后,别忘了打印一个换行符。    
}
下面我们就可以套用这个公式来完成这个题目了,完整C语言代码如下,相信聪明的你一定可以读懂的:)
#include <stdio.h>

int main()
{
  int i;
  int j;
  for(i=1;i<=7;i++)
  {
     if(i<=4){//前4行
         for(j=1;j<=7;j++){//打印每一行的星号或者空格
             int temp=i-1;
             /*
             *找规律,i=1时,即第一行,是第4个位置星号,其他地方空格
             *第二行,是4,5,6三个位置星号,其他地方空格
             *第三行,是2,3,4,5,6五个位置星号,其他地方空格
             *所以j应该满足,j>=(4-(i-1))并且j<=(4+(i-1))时是星号,其他空格
             */
             if(j>=4-temp&&j<=4+temp) printf("*");
             else printf(" ");
         }
         /**打印完以后有回车*/
         printf("\n");
     }
     else //后三行
     {
         for(j=1;j<=7;j++){
             int temp=7-i;
             /*
             找规律,i=5时,即第五行,是第3,4,5个位置星号,其他地方空格
             第二行,是4,5,6三个位置星号,其他地方空格
             第三行,是2,3,4,5,6五个位置星号,其他地方空格
             所以j应该满足,j>=(4-(i-1))并且j<=(4+(i-1))时是星号,其他空格
             */
             if(j>=4-temp&&j<=4+temp) printf("*");
             else printf(" ");
         }
         printf("\n");
     }            
  }
  system("PAUSE");    
  return 0;
}
打印完的界面如下:

这时一定有朋友说了,“这个太复杂了,打印菱形我有更好的办法,比这个简洁多了”,没错,你说的是对的。我只是抽象出了一种公共的方法,以后无论任何打印的问题,都是可以这么做的,可谓是个万能方法。
我之前写过一篇“用java打印一个圆”,用的就是这个方法。
好了,希望我这个公式法可以对你有所帮助:-)

三行情书 不指定

海蓝 , 2010/03/03 23:41 , Videos , 评论(0) , 阅读(50) , Via 本站原创
今天在开心网看到的一个视频,视频里列出了很多人用三句话描述的感情,仅仅三句话,可是却真实的把人内心那份真挚的感情表达出来了,有对自己爱人的,有对自己朋友的,还有的是对自己的亲人说的。
如果是你,用三句话,会对你心里的那个他或她说些什么呢?
分页: 1/55 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]