C++程序设计第章答案

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;
}

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值