**pointer

#include<iostream>
using namespace std;
void change(int **pointer,int n);//声明
int main()
{
int n,**p2;
cout<<"请输入整数的个数n=";
cin>>n;
int *a=new int(n);//动态分配
cout<<"请输入:";
for(int i=0;i<n;++i)
cin>>a[i];//存储
p2=&a;
change(p2,n);//调用
cout<<"排序后为:";
for(i=0;i<n;++i)
cout<<a[i]<<" ";
cout<<endl;
return 1;
} //================================================
void change(int **pointer,int n)//定义,冒泡排序
{
int temp;
for(int i=0;i<(n-1);i++)
{
for(int j=i+1;j<n;j++)
{
if(*(*pointer+i)>*(*pointer+j))
{
temp=*(*pointer+j);
*(*pointer+j)=*(*pointer+i);
*(*pointer+i)=temp;
}
}
}
} //====

//---------------------

#include <iostream>
using namespace std;
int main()
{
char a[50],b[50];
int i;
for(i=0;i<50;i++)
cin>>a[i];
int cnt_index=0,cnt_int=0;
//cnt_int 用于存放字符串中的数字.
//cnt_index 作为字符串b的下标.

for(i=0;a[i]!='\0';++i) //当a数组元素不为结束符时.遍历字符串a.
{
if(a[i]>='0'&& a[i]<='9') //如果是数字.
{
cnt_int*=10;
cnt_int+=a[i]-'0'; //数字字符的ascii-字符'0'的ascii码就等于该数字.
}

else if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')) //如果是字母.
{
b[cnt_index++]=a[i]; //如果是字符,则增加到b数组中.
}
}

b[cnt_index++]='\0'; //增加字符串结束符.
for(i=0;i<strlen())
cout<<b<<endl; //输出字符串. (abcdefg)
for(i=0;i<strlen(cnt_int);i++)
cout<<cnt_int<<endl; //输出数字.(12345)
return 0;
}

//-------------------------------

#include<iostream>
using namespace std;
int main()
{
char *p1[5]={"red","blue","apple","back","yellow"};
char **p2;
char *temp;
p2=p1;
cout<<"排序前为:";
for(int i=0;i<5;i++)
{
cout<<*(p2+i)<<" ";
}
for(int i=0;i<4;i++)
{
for(int j=i+1;j<5;j++)
if(strcmp(*(p2+i),*(p2+j))>0) //注意strcmp的函数参数
{
temp=*(p2+i);
*(p2+i)=*(p2+j);
*(p2+j)=temp;
}
}
cout<<endl<<"排序后为:";
for(i=0;i<5;i++)
{
cout<<*(p2+i)<<" ";
}
cout<<endl;
return 1;
}

posted @ 2013-05-14 20:12  herizai  阅读(188)  评论(0编辑  收藏  举报