1. 输入一个正整数 n,输出其位数。
输入样例:123
输出样例:3
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n,count=0;
cin>>n;
while(n!=0)
{
n=n/10;
count++;
}
cout<<count<<endl;
}
2. 输入一个正整数 n,从低位至高位输出 n 的各位数字。
输入样例:123
输出样例:3 2 1
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n=0;
cin>>n;
while(n!=0)
{
cout<<n%10<<" ";
n=n/10;
}
}
3. 输入一个正整数 n,从高位至低位输出 n 的各位数字。
输入样例:123
输出样例:1 2 3
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n,count,i=0;
int a[10];
cin>>n;
while(n!=0)
{
a[i++]=n%10;
n=n/10;
count++;
}
for(int m=count;m>0;m--)
{
cout<<a[m-1]<<" ";
}
}
4. 输入一个正整数 n,输出逆序后的整数的 2 倍。
输入样例:125
输出样例:1042 说明:125 逆序后为 521,2 倍则是 1042
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n,count,i,sum,res=0;
int a[10];
cin>>n;
while(n!=0)
{
a[i++]=n%10;
n=n/10;
count++;
}
for(int m=count;m>0;m--)
{
sum=sum+a[m-1]*pow(10,count--);
}
sum=sum/10;
res=2*sum;
cout<<res<<endl;
}
5. 输入一个数,输出其素因子分解表达式。要求表达式中各个因子从小到大排序。
输入样例:
60
输出样例:
2*2*3*5
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n,m=0;
int a[20];
cin>>n;
int i=2;
while(n>=0)
{
if(n%i==0)
{
a[m++]=i;
n=n/i;
}
else
{
i++;
}
}
for(int k=0;k<m-2;k++)
{
cout<<a[k]<<"*";
}
cout<<a[m-2];
}