简单题
题目描述
输入一个数字,将其倒序输出,并输出其各个位上的乘积
输入描述 : 一个正整数,保证在int范围内
输出描述 : 两个数字,用空格隔开,第一个数字为其倒序的值,第二个数字是各个位上的乘积
输入样例 :134
输出样例 :431 12
解题思路:删繁就简,直接当字符串读入,处理就简单多了。
PS:此处不用纠结于题意,没有特别强调是按照一个数的格式输出,因此可以有前导0
void main() { int d; cin>>d; ostringstream os; os<<d; string s = os.str(); int len = s.size(); int res=1; int i; for(i=len-1;i>=0;i--) { cout<<s[i]; res *= (s[i]-‘0‘); } cout<<‘ ’<<res<<endl; }
你也可以认为直接输入的的是string型的数而不是int型的数,这样就可以省略从int转换成string的代码,而且如果开头是0的话,也不会省略,考试时看题目要求。
原文地址:http://www.cnblogs.com/Xylophone/p/3818835.html