107.任意给定一个不超过9位的整数,将其高低位翻转,例如给定12345变成54321,12320变成2321。
108.有1、2、3、4个数字,输出所有由这4个数字组成的互不相同且无重复数字的三位数?
109.对一个整数进行质因数分解, 例如60可以分解为60 = 223*5。
110.计算N的阶乘后0的个数。
供参考:
//107.任意给定一个不超过9位的整数,将其高低位翻转,例如给定12345变成54321,12320变成2321。
#include<stdio.h>
int main()
{
int n,m=0;
scanf("%d",&n);
while(n){
m = m*10 + n%10;
n /=10;
}
printf("%d\n",m);
return 0;
}
//108 . 有1、2、3、4个数字,输出所有由这4个数字组成的互不相同且无重复数字的三位数?
#include<stdio.h>
int main()
{
int i,j,k;
for(i=1;i<5;i++)
{
for(j=1;j<5;j++)
{
for(k=1;k<5;k++)
{
if(i!=k&&i!=j&&j!=k)
{
//printf("%d%d%d\n",i,j,k);
printf("%d\n",i*100 + j*10 + k);
}
}
}
}
return 0;
}
//109.对一个整数进行质因数分解, 例如60可以分解为60 = 2*2*3*5。
#include<stdio.h>
int main()
{
int m=0,n=2;
scanf("%d",&m);
printf("%d=",m);
while(m>=n){
if(m%n==0){
printf("%d",n);
if(m!=n)
printf("*");
else
printf("\n");
m=m/n;
}else
++n;
}
return 0;
}
不建议一个问答多个问题
回答第一个:
int main()
{
int n,i=0;
int a[9] = {0};
scanf("%d",&n);
while(n>0)
{
if(i==0 && n%10==0)
n = n/10;
else
{
a[i++] = n%10;
n = n/10;
}
}
for(;i>=0;i--)
{
if(a[i] > 0)
printf("%d",a[i]);
}
return 0;
}