编制函数JsSort(),其函数功能是:对字符串下标为奇数的字符串按其ASCII值从大到小排序

JavaScript07

编制函数JsSort(),其函数功能是:对字符串下标为奇数的字符串按其ASCII值从大到小排序,第1张

#include<stdio.h>

#include<string.h>

char str1[100], tmp

int i,j,b,t

void JsSort()

void main()

{

memset(str1,0,100)

memset(str2,0,100)

printf("please enter no.")

for(i=0(str1[i]=getchar())!='\n'i++)

str1[i]='\0'

JsSort()

printf("%s\n",str1)

system("pause")

}

void JsSort()

{

b=strlen(str1)

for(i=0i<b-2i+=2)

for(j=0j<b-2-ij+=2)

if (str1[j]<str1[j+2])

{t=str1[j] str1[j]=str1[j+2] str1[j+2]=t}

}

public class FullArray ...{

public String[] s=...{"a","b","c"}

public void run()...{

int j2 //指向要对换的位置

int sLength=s.length

for(int i=0i<getP(s.length)i++)...{ //外层循环以便获取全部组合

String[] tempString=s.clone() //由于对象传的是句柄也就是地址,因此为保证原来数组不变,必须使用对象克隆

for(int j=0j<ij++)...{ //i次的对换

j2=j%(sLength-1)

change(j2,tempString)

}

for(int l=0l<sLengthl++)...{ //输出这一次对换后的排列

System.out.print(tempString[l])

}

System.out.println()

}

}

public int getP(int i)...{//获得全排列数all

int all=1

for(int j=ij>0j--)...{

all=all*j

}

return all

}

public void change(int i,String[] tempString)...{//

String t=""

t=tempString[i]

tempString[i]=tempString[i+1]

tempString[i+1]=t

}

public static void main(String[] args)...{

FullArray fa=new FullArray()

fa.run()

}

}