7-13 输出一个数的位数及其逆序数 (12分)
从键盘输入一个正整数(不超过9位,即最多9位),要求编程实现以下功能:
① 求出这个数是几位数,并输出其位数;
② 输出这个数的逆序数。
输入格式:
输入一个正整数(不超过9位,即最多9位)。
输出格式:
输出刚刚输入的正整数,包含的位数及其逆序数,中间用英文逗号分隔开,最后换行。
输入样例:
147258369
输出样例:
147258369,9,963852741
我之前已知是这样写的
#include<bits/stdc++.h> using namespace std; int rev_num(int x); void fun(int x, int &digit, int &rev) { int a[20]; int i = 0; while(x > 0) { a[i++] = x%10; x/=10; } digit = i; rev = 0; for(int i = 0; i < digit; i++) { rev += a[i]; if( i !=digit-1) rev*=10; } } int main() { int x; // while(cin>>x) cin>>x; { int digit = -1; int rev = -1; fun(x,digit, rev); cout<<x<<','<<digit<<','<<rev<<endl; } return 0; }
这是改进后的
#include<bits/stdc++.h> using namespace std; int rev_num(int x); void fun(int x, int &digit, int &rev) { digit = 0; rev = 0; while(x > 0) { rev = rev*10 + x%10; x/=10; digit++; } } int main() { int x; cin>>x; { int digit = -1; int rev = -1; fun(x,digit, rev); cout<<x<<','<<digit<<','<<rev<<endl; } return 0; }
原文链接: https://www.cnblogs.com/zhang-zsq/p/12877220.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/348058
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!