#include <iostream>
using namespace std;
const char Cname[10][3] = {"", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
void print(long number)
{
if(number==0)
cout<<"零";
if (number < 0)
{
cout<<"负 ";
long fnumber=abs(number);
print(fnumber);
}
if (number < 10)
{
cout << Cname[number];
}
else if (number < 100)
{
print(number / 10);
cout << "十";
print(number % 10);
}
else if (number < 1000)
{
print(number / 100);
cout << "百";
print(number % 100);
}
else if (number < 10000)
{
print(number / 1000);
cout << "千";
print(number % 1000);
}
else if (number < 100000000)
{
print(number / 10000); // 打印万位以前的数字。
cout << "万";
print(number % 10000); // 打印万位以后的数字。
}
else
{
print(number / 100000000);
cout << "亿";
print(number % 100000000);
}
}
int main()
{
long number;
while (cin >> number)
print(number);
return 0;
}
=================================
练习使用二维字符常量:
#include <string>
#include <iostream>
using namespace std;
int main()
{
int a,b,year;
char gz[6]; //用来表示干支的字符变量
//注意:下面两个语句中{}内的引号和逗号不能为全角字符
static char tg[10][3]={"甲","乙","丙","丁","戊","己","庚","辛","壬","癸"};
static char dz[12][3]={"子","丑","寅","卯","辰","巳","午","未","申","酉","戍","亥"};
printf("请输入一个年份:");
scanf("%d",&year);
a=(year-1804)%10; //以1804年为参考年份,1804年是甲子年
b=(year-1804)%12;
strcpy(gz,tg[a]);
strcat(gz,dz[b]);
printf("%d年的干支为:%s/n",year,gz);
return 0;
}