當前位置:編程學習大全網 - 編程語言 - I2c編程語言

I2c編程語言

#包含?& ltstdio.h & gt

#包含?& ltstring.h & gt

const?夏爾?*?sCommonCnNumbers=?“01234567890 tsumoru陰性”;

//?讀書在壹萬以內。

夏爾?*?I2cnSub1(char?*?o,?未簽名?int?num,?int?ys?=?0)

{

如果(num?& gt?9999)?回歸?NULL

未簽名?int?q?=?num?/?1000;

num?-=?q?*?1000;

未簽名?int?b?=?num?/?100;

num?-=?b?*?100;

未簽名?int?s?=?num?/?10;

未簽名?int?g?=?num?-?s?*?10;

int?l?=?0;

if(q)?{*o++?=?q?+?'0';?*o++?=?q’;?ys?=?1;}

不然呢?如果(ys?==?1)?l?=?1;

如果(b)

{

如果(l?==?1)?{*o++?=?'0';?l?=?0;?ys?=?0;}

*o++?=?b?+?'0';?*o++?=?b’;?ys?=?1;

}

不然呢?如果(ys?==?1)?l?=?1;

如果(s)

{

如果(l?==?1)?{*o++?=?'0';?l?=?0;?ys?=?0;}

如果(s?==?1?& amp& amp?ys?==?0)?;

不然呢?*o++?=?s?+?'0';?

*o++?=?s’;?ys?=?1;

}

不然呢?如果(ys?==?1)?l?=?1;

如果(g)

{

如果(l?==?1)?{*o++?=?'0';}

*o++?=?g?+?'0';

}

*o?=?0;

回歸?o;

}

//?數字串轉換成中文數字串。

夏爾?*?I2cnSub2(char?*?o,?const?夏爾?*?我,?const?夏爾?*?kCN)

{

夏爾?*?還是?=?o;

size_t?萊恩。=?strlen(壹);

夏爾?*?buf?=?新的?char[len],?*pbl,?* pbh

memcpy(buf,我,?len);

pbl?=?buf

pbh?=?pbl?+?len

而(pbl?& lt?pbh)

{

開關(*pbl++)

{

案子?'0':?memcpy(o,?kCN,2);?o+= 2;?打破;

案子?'1':?memcpy(o,?kCN?+2,?2);?o+= 2;?打破;

案子?'2':?memcpy(o,?kCN?+4,?2);?o+= 2;?打破;

案子?'3':?memcpy(o,?kCN?+6,?2);?o+= 2;?打破;

案子?'4':?memcpy(o,?kCN?+8,?2);?o+= 2;?打破;

案子?'5':?memcpy(o,?kCN?+?10,?2);?o+= 2;?打破;

案子?'6':?memcpy(o,?kCN?+?12,?2);?o+= 2;?打破;

案子?'7':?memcpy(o,?kCN?+?14,?2);?o+= 2;?打破;

案子?'8':?memcpy(o,?kCN?+?16,?2);?o+= 2;?打破;

案子?'9':?memcpy(o,?kCN?+?18,?2);?o+= 2;?打破;

案子?s ':memcpy(o,?kCN?+?20,?2);?o+= 2;?打破;

案子?b ':memcpy(o,?kCN?+?22,?2);?o+= 2;?打破;

案子?問':memcpy(o,?kCN?+?24,?2);?o+= 2;?打破;

案子?w ':memcpy(o,?kCN?+?26,?2);?o+= 2;?打破;

案子?y ':memcpy(o,?kCN?+?28,?2);?o+= 2;?打破;

案子?'-':?memcpy(o,?kCN?+?30,?2);?o+= 2;?打破;

默認值:

}

}

*o?=?0;

刪除?[]?buf

回歸?或者;

};

//?將數字轉換成中文數字,結果符合中文數字的閱讀方法。

夏爾?*?I2cn(char?*?o,?__int64?num,?const?夏爾?*?kCN?=?sCommonCnNumbers)

{

夏爾?*?還是?=?o;

const?未簽名?__int64?kMaxInt32?=?4294967296ui64

const?未簽名?__int64?kYY?=?100000000000000 ui64;

const?未簽名?__int64?kWY?=?10000000000 ui64;

const?未簽名?__int64?kY=?10000000 ui 64;

const?未簽名?__int64?kW=?10000 ui 64;

如果(num?& lt?0)?{*o++?=?'-';?num?=?-num;}?

int?ys?=?0,?l?=?0;

如果(num?& gt?kYY)

{

未簽名?int?yy?=?(未簽名?int)(num?/?kYY);

num?-=?yy?*?kYY

o?=?I2cnSub1(o,?YY);

*o++?=?y’;

如果(num?& lt?kY)?*o++?=?y’;

ys?=?1;

}

不然呢?如果(ys?==?1)?l?=?1;

如果(num?& gt?kWY)

{

如果(l?==?1)?{*o++?=?'0';?l?=?0;?ys?=?0;}

未簽名?int?wy?=?(未簽名?int)(num?/?kWY);

num?-=?wy?*?kWY

o?=?I2cnSub1(o,?餵?ys);

*o++?=?w’;

如果(num?& lt?kY)?*o++?=?y’;

ys?=?1;

}

不然呢?如果(ys?==?1)?l?=?1;

如果(num?& gt?kY)

{

如果(l?==?1)?{*o++?=?'0';?l?=?0;?ys?=?0;}

未簽名?int?y?=?(未簽名?int)(num?/?kY);

num?-=?y?*?kY;

o?=?I2cnSub1(o,?y,?ys);

*o++?=?y’;

ys?=?1;

}

不然呢?如果(ys?==?1)?l?=?1;

如果(num?& gt?千瓦)

{

如果(l?==?1)?{*o++?=?'0';?l?=?0;?ys?=?0;}

未簽名?int?w?=?(未簽名?int)(num?/?kW);

num?-=?w?*?千瓦;

o?=?I2cnSub1(o,?w,?ys);

*o++?=?w’;

}

如果(數字)

{

如果(l?==?1)?{*o++?=?'0';?ys?=?0;}

o?=?I2cnSub1(o,?(未簽名?int)num,?ys);

}

*o?=?0;

回歸?I2cnSub2(或者,還是,?kCN);

}

int?主()

{

__int64?x;

夏爾?buf[128];

Printf("請輸入壹個數字:");

scanf("%I64d ",& ampx);

Printf("這個數字的中文發音是:%s\n ",I2cn(buf,?x));

回歸?0;

}

  • 上一篇:QT編程與移植的問題
  • 下一篇:哈爾濱華威公司的火焰數控切割機如何使用?
  • copyright 2024編程學習大全網