93c16edb5a
- 修正主README.md中的所有路径引用,使其与当前文件结构一致 - 更新翁凯C语言学习指南链接路径 - 更新五子棋AI项目文档链接路径 - 更新数据结构学习文档链接路径 - 修正编译说明和学习模块使用指南中的目录路径 - 改进五子棋README.md的编译运行说明,增加Windows和Linux/macOS的分平台指导 - 确保所有文档链接和路径引用都能正确工作
96 lines
1.8 KiB
C
96 lines
1.8 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <time.h>
|
|
#include <math.h>
|
|
|
|
int num_weishu(int num) // 判断数字位数
|
|
{
|
|
int n = 0;
|
|
num = abs(num);
|
|
if (num == 0)
|
|
{
|
|
return 1;
|
|
}
|
|
while (num > 0)
|
|
{
|
|
num /= 10;
|
|
n++;
|
|
}
|
|
return n;
|
|
}
|
|
|
|
int main()
|
|
{
|
|
int x;
|
|
int a = 0;
|
|
int b = 0;
|
|
int m = 0;
|
|
printf("请输入一个整数:");
|
|
scanf("%d", &x);
|
|
|
|
a = num_weishu(x);
|
|
b = (int)(pow(10, a - 1) + 0.1); // pow函数是次方运算的函数名,+0.1是为了避免浮点数误差
|
|
printf("这个数字的位数是%d。\n", a);
|
|
|
|
if (a > 9)
|
|
{
|
|
printf("超过最大支持位数!\n");
|
|
return -1;
|
|
}
|
|
else
|
|
{
|
|
|
|
if (x < 0) // 处理负号
|
|
{
|
|
printf("-");
|
|
}
|
|
while (b > 0)
|
|
{
|
|
m = x / b;
|
|
switch (m)
|
|
{
|
|
case 0:
|
|
printf("ling ");
|
|
break;
|
|
case 1:
|
|
printf("yi ");
|
|
break;
|
|
case 2:
|
|
printf("er ");
|
|
break;
|
|
case 3:
|
|
printf("san ");
|
|
break;
|
|
case 4:
|
|
printf("si ");
|
|
break;
|
|
case 5:
|
|
printf("wu ");
|
|
break;
|
|
case 6:
|
|
printf("liu ");
|
|
break;
|
|
case 7:
|
|
printf("qi ");
|
|
break;
|
|
case 8:
|
|
printf("ba ");
|
|
break;
|
|
case 9:
|
|
printf("jiu ");
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
if (b > 9)
|
|
{
|
|
printf(" ");
|
|
}
|
|
x = x % b;
|
|
b = b / 10;
|
|
}
|
|
printf("\n");
|
|
}
|
|
|
|
return 0;
|
|
} |