![在这里插入图片描述](https://img-blog.csdnimg.cn/bd59f9fc55884599825bdca27f31e902.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/4b97f1cc77ee4250b446a2572545a5e7.png)
1.
#include <iostream>
using namespace std;
int main()
{void swap(int *p1,int *p2);
int n1,n2,n3;
int *p1,*p2,*p3;
cout<<"input three integers n1,n2,n3:";
cin>>n1>>n2>>n3;
p1=&n1;
p2=&n2;
p3=&n3;
if(n1>n2) swap(p1,p2);
if(n1>n3) swap(p1,p3);
if(n2>n3) swap(p2,p3);
cout<<"Now,the order is:"<<n1<<" "<<n2<<" "<<n3<<endl;
return 0;
}
void swap(int *p1,int *p2)
{int p;
p=*p1; *p1=*p2; *p2=p;
}
#include <iostream>
#include <cstring>
using namespace std;
int main()
{void swap(char *,char *);
char str1[20],str2[20],str3[20];
cout<<"input three line:"<<endl;
gets(str1);
gets(str2);
gets(str3);
if(strcmp(str1,str2)>0) swap(str1,str2);
if(strcmp(str1,str3)>0) swap(str1,str3);
if(strcmp(str2,str3)>0) swap(str2,str3);
cout<<endl<<"Now,the order is:"<<endl;
cout<<str1<<endl<<str2<<endl<<str3<<endl;
return 0;
}
void swap(char *p1,char *p2) /* 交换两个字符串 */
{char p[20];
strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);
}
#include <iostream>
#include <string>
using namespace std;
int main()
{void change(string &,string &);
string str1=" ",
str2=" ",
str3=" ";
char *p1=&str1[0],*p2=&str2[0],*p3=&str3[0];
cout<<"input three line:"<<endl;
gets(p1);
gets(p2);
gets(p3);
if(str1>str2)change(str1,str2);
if(str1>str3)change(str1,str3);
if(str2>str3)change(str2,str3);
cout<<endl<<"Now,the order is:"<<endl;
cout<<str1<<endl<<str2<<endl<<str3<<endl;
return 0;
}
void change(string &st1,string &st2) /* 交换两个字符串 */
{string st;
st=st1;st1=st2;st2=st;
}
#include <iostream>
using namespace std;
int main()
{ void input(int *number);
void max_min_value(int *number);
void output(int *number);
int number[10];
input(number); // 调用输入10个数的函数
max_min_value(number); // 调用交换函数
output(number); // 调用输出函数
return 0;
}
void input(int *number) // 输入10个数的函数
{int i;
cout<<"input 10 numbers:";
for (i=0;i<10;i++)
cin>>number[i];
}
void max_min_value(int *number) // 交换函数
{ int *max,*min,*p,temp;
max=min=number;
for (p=number+1;p<number+10;p++)
if (*p>*max) max=p; // 将大数地址赋给 max
else if (*p<*min) min=p; // 将小数地址赋给 min
temp=number[0];number[0]=*min;*min=temp; // 将最小数与第一数交换
temp=number[9];number[9]=*max;*max=temp; // 将最小数与第一数交换
}
void output(int *number) // 输出函数
{int *p;
cout<<"now,they are: ";
for (p=number;p<number+10;p++)
cout<<*p<<" ";
cout<<endl;
return;
}
#include <iostream>
using namespace std;
int main()
{void move(int *array,int n,int m);
int number[20],n,m,i;
cout<<"how many numbers?"; // 询问共有多少个数
cin>>n;
cout<<"input "<<n<<" numbers:"<<endl; // 要求输入n个数
for (i=0;i<n;i++)
cin>>number[i];
cout<<"how many places do you want move?"; // 询问后移多少个位置
cin>>m;
move(number,n,m); //调用move 函数
cout<<"Now,they are:"<<endl;
for (i=0;i<n;i++)
cout<<number[i]<<" ";
cout<<endl;
return 0;
}
void move(int *array,int n,int m) //使循环后移一次的函数
{int *p,array_end;
array_end=*(array+n-1);
for (p=array+n-1;p>array;p--)
*p=*(p-1);
*array=array_end;
m--;
if (m>0) move(array,n,m); //递归调用,当循环次数m减至为0时,停止调用
}
#include <iostream>
using namespace std;
int main()
{int i,k,m,n,num[50],*p;
cout<<"input number of person: n=";
cin>>n;
p=num;
for (i=0;i<n;i++)
*(p+i)=i+1; // 以1至n为序给每个人编号
i=0; // i为每次循环时计数变量
k=0; // k为按1,2,3报数时的计数变量
m=0; // m为退出人数
while (m<n-1) // 当退出人数比n-1少时(即未退出人数大于1时)执行循环体
{if (*(p+i)!=0) k++;
if (k==3) // 将退出的人的编号置为0
{*(p+i)=0;
k=0;
m++;
}
i++;
if (i==n) i=0; // 报数到尾后,i恢复为0
}
while(*p==0) p++;
cout<<"The last one is NO."<<*p<<endl;
return 0;
}
#include <iostream>
using namespace std;
int main()
{int length(char *p);
int len;
char str[20];
cout<<"input string:";
cin>>str;
len=length(str);
cout<<"The length of string is "<<len<<endl;
return 0;
}
int length(char *p) //求字符串长度的函数
{int n;
n=0;
while (*p!='\0')
{n++;
p++;
}
return(n);
}
#include <iostream>
using namespace std;
int main()
{void copystr(char *,char *,int);
int m;
char str1[20],str2[20];
cout<<"input string:";
gets(str1);
cout<<"which character do you want begin to copy?";
cin>>m;
if (strlen(str1)<m)
cout<<"input error!"<<endl;
else
{copystr(str1,str2,m);
cout<<"result:"<<str2<<endl;
}
return 0;
}
void copystr(char *p1,char *p2,int m) //字符串部分复制函数*/
{int n;
n=0;
while (n<m-1)
{n++;
p1++;
}
while (*p1!='\0')
{*p2=*p1;
p1++;
p2++;
}
*p2='\0';
}
#include <iostream>
using namespace std;
int main()
{int upper=0,lower=0,digit=0,space=0,other=0,i=0;
char *p,s[20];
cout<<"input string:";
while ((s[i]=getchar())!='\n') i++;
p=&s[0];
while (*p!='\n')
{if (('A'<=*p) && (*p<='Z'))
++upper;
else if (('a'<=*p) && (*p<='z'))
++lower;
else if (*p==' ')
++space;
else if ((*p<='9') && (*p>='0'))
++digit;
else
++other;
p++;
}
cout<<"upper case:"<<upper<<endl<<"lower case:"<<lower<<endl;
cout<<"space:"<<space<<endl<<"digit:"<<digit<<endl<<"other:"<<other<<endl;
return 0;
}
#include <iostream>
using namespace std;
int main()
{void move(int *);
int a[3][3],*p,i;
cout<<"input matrix:"<<endl;
for (i=0;i<3;i++)
cin>>a[i][0]>>a[i][1]>>a[i][2];
p=&a[0][0];
move(p);
cout<<"Now,matrix:"<<endl;
for (i=0;i<3;i++)
cout<<a[i][0]<<" "<<a[i][1]<<" "<<a[i][2]<<endl;
cout<<endl;
return 0;
}
void move(int *pointer)
{int i,j,t;
for (i=0;i<3;i++)
for (j=i;j<3;j++)
{t=*(pointer+3*i+j);
*(pointer+3*i+j)=*(pointer+3*j+i);
*(pointer+3*j+i)=t;
}
}
#include <iostream>
using namespace std;
int main()
{void change(int *p);
int a[5][5],*p,i,j;
cout<<"input matrix:"<<endl;
for (i=0;i<5;i++) //输入矩阵
for (j=0;j<5;j++)
cin>>a[i][j];
p=&a[0][0]; //使p指向0行0列元素
change(p); //调用函数,实现交换
cout<<"Now,matrix:"<<endl;
for (i=0;i<5;i++) //输出已交换的矩阵
{for (j=0;j<5;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
void change(int *p) //交换函数
{int i,j,temp;
int *pmax,*pmin;
pmax=p;
pmin=p;
for (i=0;i<5;i++) //找最大值和最小值的地址,并赋给 pmax,pmin
for (j=i;j<5;j++)
{if (*pmax<*(p+5*i+j)) pmax=p+5*i+j;
if (*pmin>*(p+5*i+j)) pmin=p+5*i+j;
}
temp=*(p+12); //将最大值与中心元素互换
*(p+12)=*pmax;
*pmax=temp;
temp=*p; //将最小值与左上角元素互换
*p=*pmin;
*pmin=temp;
pmin=p+1;
//将a[0][1]的地址赋给pmin,从该位置开始找最小的元素
for (i=0;i<5;i++) //找第二最小值的地址赋给 pmin
for (j=0;j<5;j++)
if (((p+5*i+j)!=p) && (*pmin > *(p+5*i+j))) pmin=p+5*i+j;
temp=*pmin; //将第二最小值与右上角元素互换
*pmin=*(p+4);
*(p+4)=temp;
pmin=p+1;
for (i=0;i<5;i++) //找第三最小值的地址赋给pmin
for (j=0;j<5;j++)
if(((p+5*i+j)!=(p+4)) && ((p+5*i+j)!=p) &&(*pmin>*(p+5*i+j))) pmin=p+5*i+j;
temp=*pmin; // 将第三最小值与左下角元素互换
*pmin=*(p+20);
*(p+20)=temp;
pmin=p+1;
for (i=0;i<5;i++) // 找第四最小值的地址赋给pmin */
for (j=0;j<5;j++)
if (((p+5*i+j)!=p) &&((p+5*i+j)!=(p+4)) && ((p+5*i+j)!=(p+20)) && (*pmin>*(p+5*i+j)))
pmin=p+5*i+j;
temp=*pmin; //将第四最小值与右下角元素互换
*pmin=*(p+24);
*(p+24)=temp;
}
#include <iostream>
using namespace std;
int main()
{void change(int *p);
int a[5][5],*p,i,j;
cout<<"input matrix:"<<endl;
for (i=0;i<5;i++) //输入矩阵
for (j=0;j<5;j++)
cin>>a[i][j];
p=&a[0][0]; //使p指向0行0列元素
change(p); //调用函数,实现交换
cout<<"Now,matrix:"<<endl;
for (i=0;i<5;i++) //输出已交换的矩阵
{for (j=0;j<5;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
void change(int *p) //交换函数
{int i,j,temp;
int *pmax,*pmin;
pmax=p;
pmin=p;
for (i=0;i<5;i++) //找最大值和最小值的地址,并赋给 pmax,pmin
for (j=i;j<5;j++)
{if (*pmax<*(p+5*i+j)) pmax=p+5*i+j;
if (*pmin>*(p+5*i+j)) pmin=p+5*i+j;
}
temp=*(p+12); //将最大值与中心元素互换
*(p+12)=*pmax;
*pmax=temp;
temp=*p; //将最小值与左上角元素互换
*p=*pmin;
*pmin=temp;
pmin=p+1;
//将a[0][1]的地址赋给pmin,从该位置开始找最小的元素
for (i=0;i<5;i++) //找第二最小值的地址赋给 pmin
for (j=0;j<5;j++)
{if(i==0 && j==0) continue;
if (*pmin > *(p+5*i+j)) pmin=p+5*i+j;
}
temp=*pmin; //将第二最小值与右上角元素互换
*pmin=*(p+4);
*(p+4)=temp;
pmin=p+1;
for (i=0;i<5;i++) //找第三最小值的地址赋给pmin
for (j=0;j<5;j++)
{if((i==0 && j==0) ||(i==0 && j==4)) continue;
if(*pmin>*(p+5*i+j)) pmin=p+5*i+j;
}
temp=*pmin; // 将第三最小值与左下角元素互换
*pmin=*(p+20);
*(p+20)=temp;
pmin=p+1;
for (i=0;i<5;i++) // 找第四最小值的地址赋给pmin
for (j=0;j<5;j++)
{if ((i==0 && j==0) ||(i==0 && j==4)||(i==4 && j==0)) continue;
if (*pmin>*(p+5*i+j)) pmin=p+5*i+j;
}
temp=*pmin; //将第四最小值与右下角元素互换
*pmin=*(p+24);
*(p+24)=temp;
}
#include <iostream>
using namespace std;
int main()
{void sort(char s[][6]);
int i;
char str[10][6];
cout<<"input 10 strings:"<<endl;
for (i=0;i<10;i++)
cin>>str[i];
sort(str);
cout<<"Now,the sequence is:"<<endl;
for (i=0;i<10;i++)
cout<<str[i]<<endl;
return 0;
}
void sort(char s[][6])
{int i,j;
char *p,temp[10];
p=temp;
for (i=0;i<9;i++)
for (j=0;j<9-i;j++)
if (strcmp(s[j],s[j+1])>0)
{strcpy(p,s[j]);
strcpy(s[j],s[+j+1]);
strcpy(s[j+1],p);
}
}
#include <iostream>
using namespace std;
int main()
{void sort(char (*p)[6]);
int i;
char str[10][6];
char (*p)[6];
cout<<"input 10 strings:"<<endl;
for (i=0;i<10;i++)
cin>>str[i];
p=str;
sort(p);
cout<<"Now,the sequence is:"<<endl;
for (i=0;i<10;i++)
cout<<str[i]<<endl;
return 0;
}
void sort(char (*s)[6])
{int i,j;
char temp[6],*t=temp;
for (i=0;i<9;i++)
for (j=0;j<9-i;j++)
if (strcmp(s[j],s[j+1])>0)
{strcpy(t,s[j]);
strcpy(s[j],s[+j+1]);
strcpy(s[j+1],t);
}
}
#include <iostream>
using namespace std;
int main()
{void sort(char *[]);
int i;
char *p[10],str[10][20];
for (i=0;i<10;i++)
p[i]=str[i]; //将第i个字符串的首地址赋予指针数组p的第i个元素
cout<<"input 10 strings:"<<endl;
for (i=0;i<10;i++)
cin>>p[i];
sort(p);
cout<<"Now,the sequence is:"<<endl;
for (i=0;i<10;i++)
cout<<p[i]<<endl;
return 0;
}
void sort(char *s[])
{int i,j;
char *temp;
for (i=0;i<9;i++)
for (j=0;j<9-i;j++)
if (strcmp(*(s+j),*(s+j+1))>0)
{temp=*(s+j);
*(s+j)=*(s+j+1);
*(s+j+1)=temp;
}
}
#include <iostream>
#include <cmath>
using namespace std;
int main()
{float integral(float (*p)(float),float a,float b,int n);
float a1,b1,a2,b2,a3,b3,c,(*p)(float);
float fsin(float); // 对fsin函数作声明
float fcos(float); // 对fcos函数作声明
float fexp(float); // 对fexp函数作声明
int n=20;
cout<<"input a1,b1:"; //输入求sin(x) 定积分的下限和上限
cin>>a1>>b1;
cout<<"input a2,b2:"; // 输入求cos(x) 定积分的下限和上限
cin>>a2>>b2;
cout<<"input a3,b3:"; // 输入求#include <iostream>
cin>>a3>>b3;
p=fsin;
c=integral(p,a1,b1,n); // 求出sin(x)的定积分
cout<<"The integral of sin(x) is :"<<c<<endl;
p=fcos;
c=integral(p,a2,b2,n); // 求出cos(x)的 定积分
cout<<"The integral of cos(x) is :"<<c<<endl;;
p=fexp;
c=integral(p,a3,b3,n); // 求出 的定积分
cout<<"The integral of exp(x) is :"<<c<<endl;
return 0;
}
float integral(float (*p)(float),float a,float b,int n)
//用矩形法求定积分的通用函数
{int i;
float x,h,s;
h=(b-a)/n;
x=a;
s=0;
for (i=1;i<=n;i++)
{x=x+h;
s=s+(*p)(x)*h;
}
return(s);
}
float fsin(float x) // 计算sin(x) 的函数
{return sin(x);}
float fcos(float x) // 计算cos(x) 的函数
{return cos(x);}
float fexp(float x) // 计算exp(x)的函数
{return exp(x);}
#include <iostream>
using namespace std;
int main()
{ void sort (char *p,int m);
int i,n;
char *p,num[20];
cout<<"input n:";
cin>>n;
cout<<"please input these numbers:"<<endl;
for (i=0;i<n;i++)
cin>>num[i];
p=&num[0];
sort(p,n);
cout<<"Now,the sequence is:"<<endl;
for (i=0;i<n;i++)
cout<<num[i]<<" ";
cout<<endl;
return 0;
}
void sort (char *p,int m) // 将n个数逆序排列函数
{int i;
char temp, *p1,*p2;
for (i=0;i<m/2;i++)
{p1=p+i;
p2=p+(m-1-i);
temp=*p1;
*p1=*p2;
*p2=temp;
}
}
#include <iostream>
using namespace std;
int main()
{void avsco(float *,float *);
void avcour1(char (*)[10],float *);
void fali2(char course[5][10],int num[],float *pscore,float aver[4]);
void good(char course[5][10],int num[4],float *pscore,float aver[4]);
int i,j,*pnum,num[4];
float score[4][5],aver[4],*pscore,*paver;
char course[5][10],(*pcourse)[10];
cout<<"input course:"<<endl;
pcourse=course;
for (i=0;i<5;i++)
cin>>course[i];
cout<<"input NO. and scores:"<<endl;
cout<<"NO.";
for (i=0;i<5;i++)
cout<<","<<course[i];
cout<<endl;
pscore=&score[0][0];
pnum=&num[0];
for (i=0;i<4;i++)
{cin>>*(pnum+i);
for (j=0;j<5;j++)
cin>>*(pscore+5*i+j);
}
paver=&aver[0];
cout<<endl<<endl;
avsco(pscore,paver); // 求出每个学生的平均成绩
avcour1(pcourse,pscore); // 求出第一门课的平均成绩
cout<<endl<<endl;
fali2(pcourse,pnum,pscore,paver); // 找出两门课不及格的学生
cout<<endl<<endl;
good(pcourse,pnum,pscore,paver); // 找出成绩好的学生
return 0;
}
void avsco(float *pscore,float *paver) // 求每个学生的平均成绩的函数
{int i,j;
float sum,average;
for (i=0;i<4;i++)
{sum=0.0;
for (j=0;j<5;j++)
sum=sum+(*(pscore+5*i+j)); //累计每个学生的各科成绩
average=sum/5; //计算平均成绩
*(paver+i)=average;
}
}
void avcour1(char (*pcourse)[10],float *pscore) // 求第一课程的平均成绩的函数
{int i;
float sum,average1;
sum=0.0;
for (i=0;i<4;i++)
sum=sum+(*(pscore+5*i)); //累计每个学生的得分
average1=sum/4; //计算平均成绩
cout<<"course 1: "<<*pcourse<<",average score:"<<average1<<endl;
}
void fail2(char course[5][10],int num[],float *pscore,float aver[4])
// 找两门以上课程不及格的学生的函数
{int i,j,k,labe1;
cout<<" ==========Student who failed in two courses ======= "<<endl;
cout<<"NO. ";
for (i=0;i<5;i++)
cout<<course[i]<<" ";
cout<<" average"<<endl;
for (i=0;i<4;i++)
{labe1=0;
for (j=0;j<5;j++)
if (*(pscore+5*i+j)<60.0) labe1++;
if (labe1>=2)
{cout<<num[i]<<" ";
for (k=0;k<5;k++)
cout<<*(pscore+5*i+k)<<" ";
cout<<" "<<aver[i]<<endl;
}
}
}
void good(char course[5][10],int num[4],float *pscore,float aver[4])
// 找成绩优秀学生(全部课程成绩在85分以上或平均成绩在90分以上)的函数
{int i,j,k,n;
cout<<" ======Students whose score is good======"<<endl;
cout<<"NO. ";
for (i=0;i<5;i++)
cout<<course[i]<<" ";
cout<<" average"<<endl;
for (i=0;i<4;i++)
{n=0;
for (j=0;j<5;j++)
if (*(pscore+5*i+j)>85.0) n++;
if ((n==5)||(aver[i]>=90))
{cout<<num[i]<<" ";
for (k=0;k<5;k++)
cout<<*(pscore+5*i+k)<<" ";
cout<<" "<<aver[i]<<endl;
}
}
}
#include <iostream>
using namespace std;
int main()
{char str[50],*pstr;
int i,j,k,m,e10,digit,ndigit,a[10],*pa;
cout<<"input a string:"<<endl;
gets(str);
cout<<endl;
pstr=&str[0]; //字符指针pstr指向数组str首元素
pa=&a[0]; //指针pa指向a数组首元素
ndigit=0; //ndigit代表有多少个整数
i=0; //i代表字符串中的第几个字符/
j=0; //j代表连续数字的位数
while(*(pstr+i)!='\0')
{if((*(pstr+i)>='0') && (*(pstr+i)<='9'))
j++;
else
{if (j>0)
{digit=*(pstr+i-1)-48; //将个数位赋予digit
k=1;
while (k<j) //将含有两位以上数的其它位的数值累计于digit
{e10=1;
for (m=1;m<=k;m++)
e10=e10*10; //e10代表该位数所应乘的因子
digit=digit+(*(pstr+i-1-k)-48)*e10; //将该位数的数值累加于digit
k++; //位数k自增
}
*pa=digit; //将数值放在数组a中
ndigit++;
pa++; //指针pa指向a数组下一元素
j=0;
}
}
i++;
}
if (j>0) //以数字结尾字符串的最后一个数据
{digit=*(pstr+i-1)-48; //将个数位赋予digit
k=1;
while (k<j) // 将含有两位以上数的其它位的数值累加于digit
{e10=1;
for (m=1;m<=k;m++)
e10=e10*10; //e10代表位数所应乘的因子
digit=digit+(*(pstr+i-1-k)-48)*e10; //将该位数的数值累加于digit
k++; /*位数K自增*/
}
*pa=digit; //将数值放到数组a中
ndigit++;
j=0;
}
printf("There are %d numbers in this line. They are:\n",ndigit);
j=0;
pa=&a[0];
for (j=0;j<ndigit;j++) //打印数据
cout<<*(pa+j)<<endl;
cout<<endl;
return 0;
}
#include <iostream>
using namespace std;
int main()
{int strcmp(char *p1,char *p2);
int m;
char str1[20],str2[20],*p1,*p2;
cout<<"input two strings:"<<endl;
cin>>str1;
cin>>str2;
p1=&str1[0];
p2=&str2[0];
m=strcmp(p1,p2);
cout<<"result:"<<m<<endl;
return 0;
}
int strcmp(char *p1,char *p2) //自已定义字符串比较函数
{int i;
i=0;
while(*(p1+i)==*(p2+i))
if (*(p1+i++)=='\0') return(0); //全部字符相同时返回结果0
return(*(p1+i)-*(p2+i)); //不相同时返回结果为第一对不相同字符的ASCII码的差值
}
#include <iostream>
using namespace std;
int main()
{char *month_name[13]={"illegal month","January","February","March","April",
"May","June","July","August","September","October", "November","December"};
int n;
cout<<"input month:"<<endl;
cin>>n;
if ((n<=12) && (n>=1))
cout<<"It is "<<*(month_name+n)<<endl;
else
cout<<"It is wrong"<<endl;
return 0;
}
#include <iostream>
using namespace std;
int main()
{void sort(char **p);
const int m=20; //定义字符串的最大长度
int i;
char **p,*pstr[5],str[5][m];
for (i=0;i<5;i++)
pstr[i]=str[i]; /*将第i个字符串的首地址赋予指针数组 pstr 的第i个元素*/
cout<<"input 5 strings:"<<endl;
for (i=0;i<5;i++)
cin>>pstr[i];
p=pstr;
sort(p);
cout<<"strings sorted:"<<endl;
for (i=0;i<5;i++)
cout<<pstr[i]<<endl;
return 0;
}
void sort(char **p) //冒泡法对5个字符串排序函数
{int i,j;
char *temp;
for (i=0;i<5;i++)
{for (j=i+1;j<5;j++)
{if (strcmp(*(p+i),*(p+j))>0) //比较后交换字符串地址
{temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
}
}
#include <iostream>
using namespace std;
int main()
{void sort(int **p,int n);
int i,n,data[10],**p,*pstr[10];
cout<<"input n:";
cin>>n;
for (i=0;i<n;i++)
pstr[i]=&data[i]; /*将第i个整数的地址赋予指针数组 pstr 的第i个元素*/
cout<<"input "<<n<<" integer numbers:"<<endl;
for (i=0;i<n;i++)
cin>>*pstr[i];
p=pstr;
sort(p,n);
cout<<"Now,the sequence is:"<<endl;
for (i=0;i<n;i++)
cout<<*pstr[i]<<" ";
cout<<endl;
return 0;
}
void sort(int **p,int n)
{int i,j,*temp;
for (i=0;i<n-1;i++)
{for (j=i+1;j<n;j++)
{if (**(p+i)>**(p+j)) //比较后交换整数地址
{temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
}
}