首页 > 代码库 > 华为机试(3)
华为机试(3)
简单题
题目描述
输入一个数字,将其倒序输出,并输出其各个位上的乘积
输入描述 : 一个正整数,保证在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的话,也不会省略,考试时看题目要求。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。