习题1
#include<iostream>
using namespace std;
int main()
{
int a[10];
int *p=a;
for(int i=0;i<10;i++)
a[i]=2*(i+1);
for(;p<a+10;p++)//为什么不能用for(;*p!='\0';p++
cout<<*p<<" ";
cout<<endl;
return 0;
}
习题2
#include<iostream>
using namespace std;
void lower(char *);//要带*号
int main()
{
char en[20];
cout<<"请输入一串英文字符串:";
cin.get(en,20);
lower(en);
cout<<"转换的字符串为:"<<en<<endl;
return 0;
}
void lower(char *p)//不用return
{
for(;*p!='\0';p++)
if(*p<='Z'&&*p>='A')
*p+='a'-'A';//cout<<'a'-'A';=32
}
习题3
#include<iostream>
using namespace std;
int main()
{
char a[20];
char *p=a;
cout<<"输入一串字符喽:"<<endl;
cin.getline(a,20);
for(;*p!='\0';p++)
{
if(*p!=' ')
cout<<*p;
}
cout<<endl;
return 0;
}
习题4
#include<iostream>
using namespace std;
int main()
{
char *month[]={"january","february","march","april","may","june","july","august","september","october","november","december"};
int i;
while(1)
{
cout<<"请输入1~12的数字:";
cin>>i;
if(i<0||i>12)
break;
cout<<"对应的月份为:"<<month[i-1]<<endl;
}
return 0;
}
习题5
#include<iostream>
using namespace std;
int main()
{
int a[3][3];
int *p[3],**pp;
int i,j;
p[0]=a[0];
p[1]=a[1];
p[2]=a[2];
cout<<"输入为"<<endl;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>*(p[i]+j);
}
pp=p;
cout<<"输出为"<<endl;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cout<<*(*(pp+i)+j)<<endl;
}
return 0;
}
习题6
#include<iostream>
using namespace std;
int max(int *p,int n)
{
int m=*p;
for(int i=0;i<n;i++)
if(p[i]>m)
m=p[i];
return m;
}
int main()
{
int a[3][4];
int *p[3];
int i,j,MAX;
p[0]=a[0];
p[1]=a[1];
p[2]=a[2];
cout<<"输入一个3*4矩阵的元素值"<<endl;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>*(p[i]+j);
}
MAX=max(*p,12);
cout<<MAX<<endl;//有不明白的,COUT<<max
return 0;
}