• 个人简历下载
  • 职场资讯
  • 求职攻略
  • 求职面试技巧
  • 面试题
  • 笔试题
  • 职业规划
  • 职场法则
  • 职场培训
  • 升迁之路
  • 劳动法规
  • 跳槽注意事项
  • 当前位置: 工作范文网 > 职场 > 职场法则 > 正文

    实践报告答案江苏科技大学c++

    时间:2020-11-15 09:20:49 来源:工作范文网 本文已影响 工作范文网手机站

    江苏科技大学

    课程实践报告

    设计题目: 程序设计(VC++)实践

    设计时间 至

    学院(系):

    专业班级:

    学生姓名: 学号

    指导老师:

    2013年12月

    任务

    一、实践任务

    ,另有辅助函数2 .试建立一个类 SP,求

    ,另有辅助函数

    power(m,n)用于求

    、详细设计

    1、类的描述与定义

    (1)私有数据成员

    intn , k:存放公式中n和k的值;

    (2)公有成员函数

    n和k

    n和k。

    int power(int m, int n) :求 m。

    int fun() :求公式的累加和。

    void show():输出求得的结果。

    2、主要函数设计

    在主程序中定义对象 s,对该类进行测试。

    三、源程序清单

    #in elude <>

    class SP

    {

    int n ,k;

    public:

    SP(i nt n 1,i nt k1)

    {

    n=n 1;k=k1;

    }

    int power(i nt m,i nt n)

    {

    int p=1;

    for (i nt i=1;i <n +1;i++)

    p*=m;

    return p;

    }

    int fun ()

    int s=0;

    for (int i=1;i<n+1;i++)

    s+=power(i,k);

    return s;

    }

    void A()

    {

    cout<<"n="<<n<<",k="<<k<<",f(n,k)="<<fun()<<endl;

    }

    };

    void main()

    {

    SP a(3,3);

    (3,3);

    ();

    ();

    }四、实践小结

    掌握用循环语句求m",和m!,熟练掌握函数的调用

    五、运行结果

    'C:\U5ers\thinkpad ■.Desktop\Debug\Cpp2 [1).exe"

    11=3, lc=3,f Cni ,k>=36

    Press aimy key to contin uie

    任务二

    一、 实践任务

    3 ?建立一个类 MOVE不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均 值的元素放到数组的右边。

    二、 详细设计

    1类的描述与定义

    私有数据成员

    float array[20] :—维整型数组。

    intn :数组中元素的个数。

    公有成员函数

    MOVE(float b[],i nt m) :构造函数,初始化成员数据。

    void average。:输出平均值,并将数组中的元素按要求重新放置。

    void prin t() :输出一维数组。

    2、主要函数设计

    在主程序中用数据 {,,3,,,,,,} 对该类进行测试。

    三、源程序清单

    #include<> class MOVE{

    float array[20];

    int n;

    public:

    MOVE(float b[],int m)

    {

    n=m;

    for(int i=0;i<m;i++) array[i]=b[i];

    }

    void average()

    {

    float t=0;

    for(int i=0;i<n;i++) t+=array[i];

    float D=(t/n);

    cout<<" 平均值为: "<<D<<endl; int j=n-1;

    for(i=0;i<j;i++,j--)

    {

    while(array[i]<=D)i++;

    while(array[j]>D)j--;

    t=array[i];

    array[i]=array[j]; array[j]=t;

    }

    }

    void print()

    {

    for(int i=0;i<n;i++)

    cout<<array[i]<<'\t'; cout<<endl;

    }

    };

    void main()

    {

    float b1[]={,,3,,,,,,};

    int num;

    num=sizeof(b1)/sizeof(float);

    MOVE s(b1,num);

    ();

    ();

    }

    四、实践小结

    应熟练掌握数组与指针的应用

    五、运行结果

    任务三

    一、 实践任务

    4?建立一个类MOVE将数组中最大元素的值与最小元素的值互换。

    二、 详细设计

    1类的描述与定义

    私有数据成员

    int *array :—维整型数组。

    intn :数组中元素的个数。

    公有成员函数

    MOVE(i nt b[],i nt m) :构造函数,初始化成员数据。

    void excha nge():输出平均值,并将数组中的元素按要求重新放置。

    void prin t() :输出一维数组。

    ~MOVE():析构函数。

    2、主要函数设计

    }

    }

    对该类进行测试。在主程序中用数据 {21,65,43,87,12,84,44,97,32,55}

    对该类进行测试。

    三、源程序清单

    #include <> class MOVE

    {

    int *array;

    int n;

    public:

    MOVE(int b[],int m)

    {

    n=m; array=new int[n];

    for(int i=0;i<n;i++) array[i]=b[i];

    }

    void exchange()

    {

    int s=0,max,min,x,y; float ave;

    max=min=array[0];

    for(int i=0;i<n;i++)

    {

    s+=array[i]; if(array[i]>max){max=array[i];x=i;} if(array[i]<min){min=array[i];y=i;}

    ave=s/n;

    cout<<" 平均值为 :"<<ave<<endl; array[y]=max;array[x]=min;

    }

    void print()

    {

    for(int i=0;i<n;i++)

    cout<<array[i]<<" ";

    }

    ~MOVE()

    {

    delete []array;

    }

    };

    void main()

    {

    int B[]={21,65,43,87,12,84,44,97,32,55};

    MOVE test(B,10);

    ();

    ();

    }

    四、实践小结

    学会求数组中最大元素与最小元素方法,并实现交换

    五、运行结果

    任务四

    一、 实践任务

    6 ?定义一个字符串类 String,实现判断该字符串是否为回文字符串。所谓回文字符串,是

    指该字符串左右对称。例如字符串“ 123321”是回文字符串。

    二、 详细设计

    1、类的描述与定义

    私有数据成员

    char *str;

    int y :标记是否为回文字符串。

    公有成员函数

    String (char *s) :构造函数,用给定的参数 s初始化数据成员 str 。y

    初始化为0。

    void huiwen () :判断str所指向的字符串是否为回文字符串。

    void show()

    void show() :在屏幕上显示字符串。

    2、主要函数设计

    在主程序中定义字符串 char s[]= ” ababcedbaba"作为原始字符串。定义一个

    String类对象test,用s初始化test ,完成对该类的测试。

    三、源程序清单

    #in clude<> #in clude<> class String

    {

    char *str;

    int y;

    public:

    Strin g(char *s)

    {

    str=new char[strle n( s)+1];

    strcpy(str,s);

    y=0;

    }

    void huiwe n()

    {

    char *p1=str,*p2=str;

    while(*p2)p2++;p2--;

    for(;p1<p2;p1++,p2--) if(*p1!=*p2)

    {

    y=1;

    break;

    }

    void show()

    {

    if(y)

    cout<<str<<" 不是回文字符串 "<<'\n';

    else cout<<str<<" 是回文字符串 "<<'\n';

    }

    };

    void main()

    {

    String A("1253321");

    ();

    ();

    }

    四、实践小结

    掌握判断回文字符串的一般形式。

    五、运行结果

    任务五

    一、 实践任务

    11.建立一个 STRING将一个字符串交叉插入到另一个字符串中(假定两字符串等长)。

    例如将字符串“abcde” 交叉插入字符串“ABCD”的结果为“aAbBcCdDe'E或

    “AaBbCcDdEe。

    二、 详细设计

    1、类的描述与定义

    (1) 私有数据成员

    char str1[80] :存放被插入的字符串。

    char str2[40] :存放待插入的字符串。

    (2) 公有成员函数

    STRING(char *s1, char *s2 ):构造函数,用 s1 和 s2 初始化 str1 和 str2。

    void process。

     :将str2 中的字符串插入到 str1中。

    :输出插入后的字符串。void prin t()

    :输出插入后的字符串。

    2、主要函数设计

    在主程序中定义STRING类的对象test对该类进行测试。

    三、源程序清单

    #include<>

    #include <>

    class STRING{

    char str1[80],str2[40];

    public:

    STRING(char *s1,char *s2) {

    strcpy(str1,s1);

    strcpy(str2,s2);

    }

    void process()

    {

    int i=0,j=0;

    char t[80]; strcpy(t,str1);

    while(str2[j])

    {

    str1[i++]=t[j];

    str1[i++]=str2[j]; j++;

    }

    str1[i]='\0';

    }

    void print()

    cout<<str1<<endl;

    }

    };

    void main()

    {

    char s1[80],s2[40];

    cout<<" 请输入被插入字符串 "<<endl;

    (s1,79);

    cout<<" 请输入待插入字符串 "<<endl;

    (s2,39);

    STRING test(s1,s2);

    ();

    ();

    }四、实践小结

    发现字符插入的规律,再依次放入相应字符位置

    五、运行结果

    青输入被插入字符串

    ABCDE

    青输入待插入字符串

    a be de

    AaBbCcDdEe

    Press an9 key to continue

    半二

    任务六

    一、 实践任务

    14?建立一个类MOVE实现将数组中大字字母元素放在小写字母元素的左边。

    二、 详细设计

    1、类的描述与定义

    私有数据成员

    char *array :—维字符数组。

    intn :数组中元素的个数。

    公有成员函数

    MOVE(char b[],i nt m):构造函数,初始化成员数据。

    void chan ge():进行排序换位。

    void prin t() :输出一维数组。

    ~MOVE():析构函数。

    2、主要函数设计

    在主程序中用数据 "fdsUFfsTjfsKFEkWC" 对该类进行测试。

    三、源程序清单

    #include<>

    class MOVE

    {

    char*array;

    int n;

    public:

    MOVE(char b[],int m)

    {

    n=m;

    array=new char[n];

    for(int i=0;i<n;i++)

    array[i]=b[i];

    }

    void change()

    {

    char a;

    for(int i=1;i<n/2;i++)

    {

    if(array[i-1]>='a'&&array[i-1]<='z')

    {

    a=array[i-1];

    for(int j=i-1;j<n;j++)

    array[j]=array[j+1];

    }

    }

    array[n-1]=a;

    i--;

    }

    }

    }

    void print()

    {

    for(int i=0;i<n;i++)

    cout<<array[i];

    cout<<endl;

    }

    ~MOVE()

    {

    if(array)delete[]array;

    }

    };

    void main()

    {

    char*arr="fdsUFfsTjfsKFEkWC";

    MOVE test(arr,17);

    ();

    ();

    }四、实践小结

    利用临时数组,分别保存大写与小写字母,再实现功能

    五、运行结果

    有关的专题