华为面试题数字大小写转换_C语言教程-查字典教程网
华为面试题数字大小写转换
华为面试题数字大小写转换
发布时间:2016-12-28 来源:查字典编辑
摘要:这题因为限定了4位数,所以只考虑了4位数的情况,吃点分享一个大小写转换的源码,里面有不限位数的情况,当时调试的很痛苦,思想差不多。复制代码代...

这题因为限定了4位数,所以只考虑了4位数的情况,吃点分享一个大小写转换的源码,里面有不限位数的情况,当时调试的很痛苦,思想差不多。

复制代码 代码如下:

void iConvert(int digit)

{

char a[5][10] = {"千","百","十","","零"};

char b[11][10] = {"零","一","二","三","四","五","六","七","八","九","十"};

char result[50] = {''};

int A[4] = {};

for(int i=3;i>=0;i--)

{

A[i] = digit % 10;

digit = int(digit/10);

}

printf("%d,%d,%d,%dn",A[0],A[1],A[2],A[3]);

int foundZero = 0;

for(int i = 0 ;i<4;i++)

{

if(A[i]>0)

{

strcat(result,b[A[i]]);

strcat(result,a[i]);

}

if(A[i]==0 && foundZero == 0)

{

if(i!=3)//如果不是最后一位,则不追加零

{

strcat(result,a[4]);

foundZero = 1;

}

}

}

puts(result);

}

运行结果:

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新C语言学习
    热门C语言学习
    编程开发子分类