题解 | #数据分类处理#
数据分类处理
https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd
#include <stdio.h> #include <string.h> #include <stdio.h> int main() { int strr[101]={0}; int stri[101]={0}; int rn,in; scanf("%d",&in); for(int i=0;i<in;i++) { scanf("%d",&stri[i]); } scanf("%d",&rn); for(int i=0;i<rn;i++) { scanf("%d",&strr[i]); } for(int i=0;i<rn;i++) { for(int j=0;j<rn-i-1;j++) { if(strr[j]>strr[j+1]) { int tmp; tmp=strr[j]; strr[j]=strr[j+1]; strr[j+1]=tmp; } else if(strr[j]==strr[j+1]){ strr[j]=-1; } } } int rnew[100]={0}; int rnewn=0; for(int i=0;i<rn;i++) { if(strr[i]!=EOF) { rnew[rnewn]=strr[i]; rnewn++; } } int zzr[10000]={0}; int pos=1; for(int i=0;i<rnewn;i++) { int count=0; int flag=0; for(int j=0;j<in;j++) { char ic[15]={0}; char rnc[15]={0}; sprintf(ic,"%d",stri[j]); sprintf(rnc,"%d",rnew[i]); if(strstr(ic,rnc)!=NULL) { flag=1; count++; zzr[pos+2]=j; zzr[pos+3]=stri[j]; pos=pos+2; } } if(flag==1) { zzr[pos-(count)*2]=rnew[i]; zzr[pos-(count)*2+1]=count; pos=pos+2; } } zzr[0]=pos-1; for(int i=0;i<pos;i++){ printf("%d ",zzr[i]); } return 0; }