21xrx.com
2025-06-30 12:41:51 Monday
登录
文章检索 我的文章 写文章
C++实现数字转大写功能
2023-07-07 03:13:24 深夜i     34     0
C++ 数字 转换 大写 实现

随着数字的广泛使用,有时候需要将数字转换为大写字符串格式,这个过程可以使用C++语言来实现。

在C++中,我们可以使用字符串数组和字符指针来实现数字转大写的功能。下面是一个简单的代码示例:

#include <iostream>
#include <string>
using namespace std;
//定义数字与大写字符的对应关系
const string numChar[] =
"ONE";
const string tenChar[] =
"NINETY" ;
const string teenChar[] =
"SEVENTEEN";
//将数字转换成大写字符
void convertNumToString(int num)
{
  if (num >= 1000) {
    cout << numChar[num / 1000] << " THOUSAND ";
    num %= 1000;
  }
  if (num >= 100) {
    cout << numChar[num / 100] << " HUNDRED ";
    num %= 100;
  }
  if (num >= 10 && num <= 19) {
    cout << teenChar[num - 10] << " ";
  }
  else if (num >= 20 || num == 0) {
    cout << tenChar[num / 10] << " ";
    num %= 10;
  }
  if (num >= 1 && num <= 9) {
    cout << numChar[num] << " ";
  }
  cout << endl;
}
int main()
{
  int num;
  cout << "Enter a number: ";
  cin >> num;
  cout << "The number in words is: ";
  convertNumToString(num);
  return 0;
}

上述代码中定义了三个字符串数组,分别存储数字、十位和十位与个位组成的数字对应的大写字符,这三个数组提供我们数字转换大写所需的对照表。

而`convertNumToString()`函数则包含了将数字转换为大写字符的核心算法,首先按照千位、百位、十位与个位的顺序分别处理数字,如果当前数字大于等于相应单位,则转换为对应的大写字符,否则跳过该位。特别地,当处理十位的数字时,我们需要告诉程序有没有出现十几这种情况,选用不同的字符串数组进行转换。

最后在主函数中,我们通过获取用户输入的数字以及调用`convertNumToString()`函数来实现数字转换大写的功能。

总的来说,C++作为一门强大的编程语言,其语法简洁、使用方便,帮助我们快速实现数字转大写等复杂任务。

  
  

评论区