题目:写出这个数
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10^100。
输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
测试代码:
#include<bits/stdc++.h> //包含了目前c++所包含的所有头文件
using namespace std;
int main(){
string s;
cin>>s;
int sum;
for(int i=0;i<s.size();++i) //s.size()用于返回字符串的长度
sum+=s[i]-'0'; //将字符类型变为整数类型并求和
s=to_string(sum); //将数值转化为字符串。返回对应的字符串
string temp[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
for(int i=0;i<s.size();++i)
printf("%s%s",i>0?" ":"",temp[s[i]-'0'].c_str()); //c_str()返回一个指向正规C字符串的指针
return 0;
}
另附#include<bits/stdc++.h>所包含的头文件:
//C
#ifndef _GLIBCXX_NO_ASSERT
#include <cassert>
#endif
#include <cctype>
#include <cerrno>
#include <cfloat>
#include <ciso646>
#include <climits>
#include <clocale>
#include <cmath>
#include <csetjmp>
#include <csignal>
#include <cstdarg>
#include <cstddef>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#if __cplusplus >= 201103L
#include <ccomplex>
#include <cfenv>
#include <cinttypes>
#include <cstdalign>
#include <cstdbool>
#include <cstdint>
#include <ctgmath>
#include <cwchar>
#include <cwctype>
#endif
// C++
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <typeinfo>
#include <utility>
#include <valarray>
#include <vector>
#if __cplusplus >= 201103L
#include <array>
#include <atomic>
#include <chrono>
#include <condition_variable>
#include <forward_list>
#include <future>
#include <initializer_list>
#include <mutex>
#include <random>
#include <ratio>
#include <regex>
#include <scoped_allocator>
#include <system_error>
#include <thread>
#include <tuple>
#include <typeindex>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#endif
如果使用Dev c++编辑器出现 error: ‘to_string’ was not declared in this scope 问题
是因为目前版本的Dev C++对C++11的新特性还不支持
解决方法是在Dev C++的菜单栏选择:
“工具”——“编译选项”——“编译器”
勾选"编译时加入以下命令":
-std=c++11
辞旧迎新 万事顺遂
最后一天着手处理草稿箱
发现近段时间所遇“新知识”在之前就“已学过”
心中默念三遍“温故而知新”……