成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

程序員考試筆記六:一道編程題

企業動態
程序員考試筆記(連載中)

今天的整個課程只有這么的一道題,但是學到的東西確很多。下面給出這條題目:

字符數字轉為整數數值(字符可以任意:比如"342A")遇到其它否數字取前數。

我所寫的程序如下,自認為寫得不錯:

#define N 10;
int catio(const char *str) /*const 的作用是常數,所以這里的地址不會返回到實參里*/
{
  int num[N];
  int i=0;j=1,n=0;
  for(;*str++;i++)
  {
    if(*str<48 || *str>57)
    break; /*判斷是否數字數值*/
    num[i]=*str-48;
  }
  for(i-=1;i>=0;i--)
  {
    n+=num[i]*j;
    j*=10; 
  }
return n;
}

你們說是不是比較簡單呢?現在看不出等看完以下的另一個程序先斷定吧。如下:

long catio(char c[]);
{
  int n,d;
  char *q,*p;
  long e=1,s=0;
  for(q=p=c,n=0;*p!='\0' && *p>='0' && *p<='9';p++,n++,e*=10);

  while(n>0)
  {
  d=*q++;
  switch(d)
  {
  case 48: d=0;break; /*太長了,略*/
     :
     :
  case 57: d=9;break;
  }
  s+=d*(e/=10);
  n--;
}
return (s);
} #p#

  現在比較來看看,不過雖然這條程序是比我那個復雜,但是也有他的思路和可取之處。像在那個for循環了,一條命令帶過很方便也很簡潔。其實我們可以繼續改造這個程序,我們跟著老師的思路一步一步的把它進化,現在看看如下:

long catio(char c[]);
{
  int n,d;
  char *q,*p;
  long e=1,s=0;
  for(q=p=c,n=0;*p && *p>='0' && *p<='9';p++,n++,e*=10);

  while(n>0)
  {
    d=*q++-'0';
    s+=d*(e/=10);
    n--;
  }
  return (s);
}

  這樣是不是更簡化了,那么還可以再簡化下去嗎?前面的我們是可以做出來啊,當是老師說還可以更簡單,我們都只好懷著期待的心情去聽了。他一步一步的說出來,***就是在s+d*(e/10)這里可以變為另一種形式,s=s*10+d,如果按照這樣又可以去掉一個多余的變量了,變量e就沒有了。接下來的更不可意議了,我不知道怎么說,看看程序先吧。
long catio(char *c);
{
  long s=0;
  for(;*p && *c>='0' && *c<='9';s=s*10+*c++-'0');
  return (s);
}
  大家看到了嗎?原來這么長的程序可以一再簡化到這個地步,這就是C語言的靈活了(我好像已經說了好幾遍了,真的沒有辦法,不得不贊嘆)。
  今天就是這么一題,可真的有意外驚喜呢!好了,現在不寫了,還有十道練習題等著我去做呢,大家也要努力喔!

【相關文章】

  1. 程序員考試筆記五:循環語句
責任編輯:丁小雨 來源: 51CTO
相關推薦

2009-01-16 19:49:49

程序員考試數組指針

2009-01-07 21:03:53

程序員循環語句

2009-01-07 21:00:05

2009-01-19 19:18:44

程序員考試筆記

2009-01-08 21:25:51

程序員筆記

2009-01-10 23:38:16

程序員考試筆記

2009-01-05 15:56:00

軟考程序員

2013-12-30 13:11:03

2022-01-19 11:39:15

數據治理大數據數據

2012-08-30 10:05:40

編程編程語言程序員

2013-11-14 10:05:25

程序員職業轉型

2021-02-04 06:00:59

程序員編址系統

2024-03-18 13:32:11

2013-04-19 10:44:05

程序員禪道

2012-06-15 09:54:58

程序員編程開發

2014-06-13 11:03:19

程序員

2011-11-11 16:20:22

編程

2019-02-15 20:26:37

程序員職業道路發展方向

2013-11-28 10:32:10

2011-09-30 11:13:31

51CTO博客一周熱門程序員
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久国产精品 | 日韩网站在线观看 | 免费欧美视频 | 国产精品一区久久久 | 国产精品久久久久久一区二区三区 | 中文视频在线 | 天天视频成人 | 国产伊人久久久 | 视频一区中文字幕 | 成人毛片视频免费 | 女人毛片a毛片久久人人 | 久久黄色网 | 中文字幕 视频一区 | 亚洲一区二区在线视频 | 6080yy精品一区二区三区 | 久久福利电影 | 国产在线一区二区 | 一区二区在线 | 福利精品| 国产成人99久久亚洲综合精品 | 久久精品国产一区 | 婷婷毛片 | 2021狠狠干 | 91福利在线观看视频 | 在线视频 欧美日韩 | 亚洲男人天堂网 | 男人av网 | 国产精品精品视频一区二区三区 | 欧美一级在线 | 日韩av一区在线观看 | 国外激情av | 国产精品久久久久久久久久久久冷 | 99在线观看视频 | 在线久草| 91se在线| 在线不卡视频 | 日本成人在线播放 | 亚洲精品一区中文字幕乱码 | 一区日韩| 国产夜恋视频在线观看 | 亚洲a在线观看 |