L1-027 出租

it2026-08-27  7

解题思路: 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; }
最新回复(0)