|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 牵风 于 2021-11-19 15:38 编辑
给定n个数,找出在这n个数中,具有最大逆置数的那个数。
逆置数:指符号不变,但各个数位是逆置的。如整数256的逆置数是652,整数-3780的逆置数是-873。
最大逆置数:指各数对应的逆置数的最大值。
求具有最大逆置数的数:各数在比大小时,不是按原数比,而是按其逆置数进行比较。
#include <stdio.h>
#include <math.h>
int main() {
int n;
int i;
int max;
int cnt;
scanf("%d",&n);
int a[100],b[100],num[100];
for(i=0; i<n; i++) {
scanf("%d",&num[i]);
a[i]=num[i];
b[i]=num[i];
while(a[i]>0) {//计算位数
cnt=0
a[i]=a[i]/10;
cnt++;
}
for(int j=1; j<cnt; j++) {//逆位
b[i]=b[i]%10*pow(10,cnt-1);
cnt--;
}
for(int m=1; m<=n; m++) {//逆位比大小
for(int h=1; h<=n-m; h++) {
if(b[i]<b[i+1]) {
int temp;
temp=b[i];
b[i]=b[i+1];
temp=b[i+1];
}
}
}
max=num[i];//逆位最大的数
}
printf("%d",max);
return 0;
} |
|