6-10
#include <iostream>
using namespace std;
int main()
{
int array[5];
cout<<"输入数组元素:";
int i,j;
for(i=0;i<=4;i++)
{
cin>>array[i];
}
for(j=0;j<=4;j++)
{
cout<<array[j];
}
}
6-16
#include <iostream>
using namespace std;
int main()
{
int a;
int *p;
int &r=a;//声明时同时初始化
p=&a;
*p=10;
cout<<a<<endl;
//引用相当于变量的别名,运行时借助地址。
r=5;
//引用只能在初始化时指定对象,其后不能更改
cout<<a;
}
6-20
#include <iostream>
using namespace std;
class Simple_circle{
public:
void set_Radius(int *pp);
int get_Radius();
private:
int *itsRadius;
};
void Simple_circle::set_Radius(int *pp)
{
itsRadius=pp;
}
int Simple_circle::get_Radius()
{
return *itsRadius;
}
int main()
{
int r;
cin>>r;
int *p;
p=&r;
Simple_circle circle1;
circle1.set_Radius(p);
circle1.get_Radius();
cout<<circle1.get_Radius();
}
6-21
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main()
{
string s;
//字符串输入函数:getline(cin,s),用cin遇到空格会终止
getline(cin,s);
int i,j,m;
m=0;
//string中的length函数,求字符串长度
j=s.length();
{for(i=0;s[i];i++)
//字符串s可以看作是名称为s的字符数组
{if((s[i]>='a' && s[i]<='z') ||(s[i]>='A' && s[i]<='Z'))
m++;}}
cout<<m;
}
6-22
#include <iostream>//没有做对
#include <string>
#include <cstring>
using namespace std;
//先计算出字符串的长度
int len(string &s)
{
int i=0;
do
{
i++;
}while(s[i]!='\0');
return i;
}
void Reverse(string &s)
{
char temp=s[0];
s[0]=s[len(s)-1];
s[len(s)-1]='\0';
Reverse(s+1);
str[len(s)-1]=temp;
}
int main()
{
string S;
getline(cin,S);
len(S);
Reverse(S);
}
6-23
#include <iostream>
using namespace std;
int main()
{
int a[8];
int i,ave;
int sum=0;
for(i=0;i<8;i++)
{
cin>>a[i];
sum=sum+a[i];
}
ave=sum/8;
cout<<ave;
}
6-25
#include <iostream>
using namespace std;
void Reverse(int aa[3][3])
{
int temp,m,n;
for(m=0;m<3;m++)
for(n=m;n<3;n++)
{
temp=aa[m][n];
aa[m][n]=aa[n][m];
aa[n][m]=temp;
}
for(m=0;m<3;m++)
{for(n=0;n<3;n++)
{
cout<<aa[m][n];
}
cout<<endl;}
}
int main()
{
int i,j;
int a[3][3];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
cin>>a[i][j];
Reverse(a);
}
6-26
#include <iostream>
using namespace std;
void Move(int *a,int n)
{
int i,j,k;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
k=*(a+i*n+j);
*(a+i*n+j)=*(a+j*n+i);
*(a+j*n+i)=k;
}
}
int main()
{
int n,i,j;
int *p;
cin>>n;
p=new int [n*n];
{for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
cin>>p[i*n+j];
//p是一段连续分配的变量,可以看成是数组地址
}}
Move(p,n);
cout<<"转置后";
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
cout<<p[i*n+j]<<" ";
cout<<endl;}
return 0;
}
6-27
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
class Employee{
public:
Employee(char *n,char *str, char *ct,char *z);//构造函数初始化
void setName(char *n);
void display();
private:
char street[30];
char name[30];
char city[18];
char zip[6];
};
Employee::Employee(char *n,char *str, char *ct,char *z)
{
strcpy(name,n);
strcpy(street,str);
strcpy(city,ct);
strcpy(zip,z);
}
void Employee::setName(char *n)
{
strcpy(name,n);
}
void Employee::display()
{
cout<<name<<"\t"<<street<<"\t";
cout<<city<<"\t"<<zip;
}
int main()
{
Employee el("Lily","abcdefg","Peking","042800");
el.display();
cout<<endl;
el.setName("Alice");
el.display();
cout<<endl;
}