解题思路
:
1.输入电话号码,对电话号码进行拆分
int a
[10]={0};
2.把a的值从大到小赋给b,在输出b
3.依次遍历电话号码和b
,遇到相等则输出位置
#include <stdio.h>
int main()
{
char te
[12];
int a
[10]={0},b
[10]={0},k
=0;
scanf("%s",te
);
for(int i
=0;i
<11;i
++)
a
[te
[i
]-'0']++;
for(int i
=9;i
>=0;i
--)
{
if(a
[i
]>0)
b
[k
++]=i
;
}
printf("int[] arr = new int[]{");
for(int i
=0;i
<k
;i
++)
{
printf("%d",b
[i
]);
if(i
!=k
-1)
printf(",");
}
printf("};\nint[] index = new int[]{");
for(int i
=0;i
<11;i
++)
{
for(int j
=0;j
<k
;j
++)
{
if(te
[i
]-'0'==b
[j
])
{
printf("%d",j
);
break;
}
}
if(i
!=10)
printf(",");
}
printf("};");
return 0;
}
转载请注明原文地址: https://lol.8miu.com/read-38031.html