求字符和数字排序问题

求字符和数字排序问题

ID:39206334

大小:147.00 KB

页数:7页

时间:2019-06-27

求字符和数字排序问题_第1页
求字符和数字排序问题_第2页
求字符和数字排序问题_第3页
求字符和数字排序问题_第4页
求字符和数字排序问题_第5页
资源描述:

《求字符和数字排序问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、/*函数功能:实现字符和数字排序,并求出排序的个数;如字母排序:alibaba请问这个字母有多少种组合,程序的实现算法是:把a=1,b=2,i=3,L=4;则字母排序aaabbiL到Libbaaa就变成了从1112234到4322111的排列组合;再利用数学方法的进制问题,如在始终末尾+1,此题进制是4,则1112234+1=1112241;以此向上加一直到4322111为止,并判断在此过程中,1,2,3,4的个数,若为3,2,1,1则记下来并打印出来。并计数值+1,这样即可算出排列,和排列数。程序运行时,

2、需要输入总字符数,如alibaba总共有4个字符,则输入为4;各字符占空比为3211(a出现3次,b出现2次,i,L各一次,中间是空格,最后回车)*/#includetypedefstruct{inta[20];//用于存放1,2,3,4的个数intb[20];//用于存放1,2,3,4如:当a[20]={3,2,1,1};b[20]={1,1,1,2,2,3,4};intc[4];//用于存放最大值和最小值以及总共的数目如上,此时c[2]=7;c[3]标记a[20]中的不为0的个数;in

3、t*p;//用于指向数组}Q_ARRAY;intfun_10(inta){intb=1,i;if(a>=1){for(i=0;ip=qa;for(i=0;array->a[i]!=0;i

4、++){7array->p[i]=array->a[i];j++;}array->c[3]=j;temp1=j;j=0;i=0;while(temp1--){while(qa[i]--){array->b[j]=i+1;j++;}i++;}array->c[2]=j;for(i=0;ic[2];i++){num+=array->b[i]*fun_10(j-i-1);num1+=array->b[j-i-1]*fun_10(j-i-1);}array->c[0]=num;array->c[1]

5、=num1;}intarray_num(Q_ARRAY*array){intNUM_MIN=array->c[0],NUM_MAX=array->c[1],data=0,MAX_B,sum=0,N=array->c[2];inttemp[20]={0},i=0;MAX_B=array->b[N-1];while(1){for(i=0;ib[0]>MAX_B)gotoloop;if(array->b[N-1-i]>MAX_B&&(N-2-i>=0)){array->b[N-

6、1-i]=1;array->b[N-2-i]+=1;}elsebreak;}for(i=0;ib[i]){case1:temp[0]++;break;case2:temp[1]++;break;case3:temp[2]++;break;case4:temp[3]++;break;case5:temp[4]++;break;case6:temp[5]++;break;case7:temp[6]++;break;default:break;}}for(i=0;i<

7、array->c[3];i++){if(temp[i]==array->a[i])sum++;}if(sum==array->c[3]){sum=0;data++;for(i=0;ic[2];i++){printf("%d",array->b[i]);//标记开始1/*switch(b[i]){case1:printf("%c",'字符1');break;case2:printf("%c",'字符2');break;case3:printf("%c",'字符3');break;7case4:

8、printf("%c",'字符4');break;case5:printf("%c",'字符5');break;case6:printf("%c",'字符6');break;default:break;}*///标记结束}printf("");}elsesum=0;for(i=0;ic[3];i++)temp[i]=0;array->b[N-1]+=1;}loop:returndata;}void

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。