unsigned long long num
和scanf("%llu",&num)
已经没有办法读入。#define maxn 1000 char n[maxn] = {0}; scanf("%s", n); int len = strlen(n); //记录字符串的长度 int a[maxn]; for (int i = 0; i < len; i++) { a[i] = n[i] - '0'; //用数组储存大数字 }
题目:读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100。
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
1234567890987654321123456789
结尾无空行
yi san wu
结尾无空行
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<math.h> #define maxn 101 int main() { char n[maxn] = {0}; char b[maxn][maxn] = { "ling","yi","er","san","si","wu","liu","qi","ba","jiu" }; int t[maxn] = { 0 }; int a[maxn] = { 0 }; int sum = 0; int cnt = 0; scanf("%s", n); int len = strlen(n); for (int i = 0; i < len; i++) { a[i] = n[i] - '0'; sum += a[i]; } while (sum !=0) { t[cnt] = sum % 10; sum /= 10; cnt++; } for (size_t i = 0; i < cnt; i++) { printf("%s", b[t[cnt-i-1]]); if (i!=cnt-1) { printf(" "); } } return 0; }