题目内容:
你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。
如输入1234,则输出:
yi er san si
注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:
fu er san si yi
输入格式:
一个整数,范围是[-100000,100000]。
输出格式:
表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。
输入样例:
-30
输出样例:
fu san ling
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
#define _CRT_SECURE_NO_WARNINGS
int length(int n) {
int num=0;
num = (int)log10(n) + 1;
return num;
}
int main() {
char pingyin[13][10] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu","shi","fu","zheng"};
char nums[10] = { 0 };
int a,lengths=0,temp=0,A=0;
scanf_s("%d", &a);
if (a > 0) {
printf("%s", pingyin[12]);
}
if (a < 0){
printf("%s", pingyin[11]);
}
A = abs(a);
lengths = length(A);
for (int i = lengths-1; i >=0; i--) {
temp = A/(int)pow(10,i);
A =A%(int)pow(10,i);
printf(" %s", pingyin[temp]);
}
}