江苏科技大学苏州理工学院《计算机程序设计基础实践VC++》实验报告

icon
江苏科技大学
(张家港)
实验报告
专业班级: 2014级机制专业 1班
课程名称: 计算机程序设计基础实践VC++
学 号: 1445721111
学生姓名: 李加其
指导教师: 孙 娜

2015年6月

一、函数编程:

1.求素数问题:定义函数判断一个整数是否为素数,求300以内的素数,每行3个数形式输出。
代码:

#include<iostream>
using namespace std;
int judge(int a)
{
    if(a==2) return 1;
    if(a==3) return 1;
    if(a>=3)
    {
        for(int i=2;i<a;i++)
        {

            if(a%i==0)
                return 0;
            else
                continue;
        }
    }
    return 1;
}
int main()
{
    int num=0;
    for(int j=2;j<=300;j++)
    {
        if(judge(j))
        {
            cout<<j<<' ';
            num++;
            if(num%3==0)
            {
                cout<<endl;
            }
        }

    }
    return 0;
}

2.最大公约数和最小公倍数问题:求两分数之和并输出结果,要求:将求最小公倍数和最大公约数设计成独立的函数。(提醒:分子、分母可分别用两个整型变量表示。之和的分母就是两分数分母的最小公倍数;输出示例: cout<<3<<”/”<<7; 就完成了分数3/7的输出显示。)
代码:

#include<iostream>
using namespace std;
int fenzi,fenmu;
int judgebei(int a,int c)
{
    int min=a>c?c:a;
    for(int i=min;i<=a*c;i++)
    {
        if(i%a==0&&i%c==0)
        {
            return i;
            break;
        }
    }
}
int judgeyue(int fenmu,int fenzi)
{
    int cou=1;
    int min=fenmu<fenzi?fenmu:fenzi;
    for(int i=1;i<=min;i++)
    {
        if(fenmu%i==0&&fenzi%i==0)
        {
            if(i>=cou)
            {
                cou=i;
            }
        }
    }
    return cou;

}
int main()
{
    int a,b,c,d;
    cout<<"输入第一个分数:分子、分母"<<endl;
    cin>>b>>a;
    cout<<"输入第二个分数:分子、分母"<<endl;
    cin>>d>>c;
    int bei=judgebei(a,c);
    fenmu=bei;
    fenzi=b*fenmu/a+d*fenmu/c;
    int yue=judgeyue(fenmu,fenzi);
    cout<<b<<"/"<<a<<"+"<<d<<"/"<<c<<"="<<fenzi/yue<<"/"<<fenmu/yue;
    return 0;
}

3.排序与元素移动综合题:(1)定义整型数组a[10],从键盘输入10个数为数组赋值,并分别定义两个独立函数,void print(int b[])实现将一维数组元素输出,void sort(int b[],int n)实现将一维数组的元素按从小到大排序(用两种方法实现)。最后在主函数中分别调用两个函数。
代码:

#include<iostream>
using namespace std;
int b[10];
int tem[100000000]={0,0};
void sort1(int a[],int n)
{
    for(int i=0;i<n-1;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            if(a[i]>a[j])
            {
                int temp=a[i];
                a[i]=a[j];
                a[j]=temp;
            }
        }
    }
}
void sort2(int a[],int n)
{
    int d=0;
    int countnum=a[0];
    for(int i=0;i<n;i++)
    {
        if(a[i]>=countnum)
            countnum=a[i];
        tem[a[i]]++;
    }
    for(int j=0;j<=countnum;j++)
    {
        while(tem[j]!=0)
        {
            b[d]=j;
            d++;
            tem[j]--;
        }
    }
}
void print(int a[])
{
    for(int i=0;i<10;i++)
    {
        cout<<a[i]<<' ';
    }
    cout<<endl;
}
int main()
{
    int a[10];
    for(int i=0;i<10;i++)
    {
        cin>>a[i];
    }
    print(a);
    sort1(a,10);
    print(a);
    sort2(a,10);
    print(b);
    return 0;
}

4.二维数组与元素移动:
(1)定义一个二维数组int b[2][3],从键盘输入为二维数组赋值,将二维数组中每行元素循环后移一位,并以矩阵形式输出二维数组元素。
(2)定义一个二维数组,int a[3][4],求其外围元素之和,并以矩阵形式输出二维数组元素。(求和用两种方法实现)
代码:

#include<iostream>
using namespace std;
int main()
{
    int b[2][3];
    int a[3][4];
    cout<<"输入移动2*3数组:"<<endl;
    for(int i=0;i<2;i++)
    {
        for(int j=0;j<3;j++)
        {
            cin>>b[i][j];
        }
    }
    for(int i=0;i<2;i++)
    {
        int temp=b[i][2];
        b[i][2]=b[i][1];
        b[i][1]=b[i][0];
        b[i][0]=temp;
    }
    for(int i=0;i<2;i++)
    {
        for(int j=0;j<3;j++)
        {
            cout<<b[i][j]<<' ';
        }
        cout<<endl;
    }
    cout<<"输入3*4数组:"<<endl;
    int sum=0,sum2;
    for(int i=0;i<3;i++)
    {
        for(int j=0;j<4;j++)
        {
            cin>>a[i][j];
            if(i==0||i==2||j==0||j==3)
                sum=sum+a[i][j];
        }
    }
    sum2=a[0][0]+a[0][1]+a[0][2]+a[0][3]+a[1][0]+a[1][3]+a[2][0]+a[2][1]+a[2][2]+a[2][3];
    cout<<sum<<' '<<sum2<<endl;
    for(int i=0;i<3;i++)
    {
        for(int j=0;j<4;j++)
        {
            cout<<a[i][j]<' ';
        }
        cout<<endl;
    }
    return 0;
}

5.字符串处理:设计一个通用函数实现在字符串s1中从第m个字符开始插入字符串s2,在主程序中对该函数进行测试。
初始状态:s1:abcdefg
s2:1234
输入插入字符串的位置:3
目标状态:s1: ab1234cdefg
s2:1234
代码:

#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
void connect(char str1[80],char str2[80],int i)
{
    char str3[80];
    int j,k,m,h;
    h=strlen(str1);
    for(j=0;j<=i-2;j++)
    {
        str3[j]=str1[j];
    }
    for(m=0;str2[m]!='\0';j++,m++)
    {
        str3[j]=str2[m];
    }
    for(k=h-i-2;str1[k]!='\0';j++,k++)
    {
        str3[j]=str1[k];
    }
    str3[j]='\0';
    //printf("%s",str3);
    for(int i=0;i<strlen(str3);i++)
    {
        cout<<str3[i];
    }
    cout<<endl;
}
int main()
{
    char str1[80],str2[80];
    int i;
    cin.getline(str1,80);//gets(str1);
    cin.getline(str2,80);
    cin>>i;
    connect(str1,str2,i);
    return 0;
}

6.拼数与合数问题:
(1)在主函数中定义一个一维数组a[4]用来存放4个整型数3,12,0,1,并依次输出一维数组中的元素。
(2)依次取出数组中的元素,利用合数算法将这些元素合成一个数,要求合数的过程写成独立函数的形式,编写int fun(int b[],int n)函数,其中b为一维数组,n为b数组中包含的元素个数。该函数用来实现合数过程,并在主函数中调用该函数,并在主函数中输出合成之后的数。
代码:

#include<iostream>
using namespace std;
int sum=0;
int judge(int b)
{
    int c=0;
    while(b)
    {
        b=b/10;
        c++;
    }
    return c;
}
int fun(int a[],int n)
{
    for(int i=0;i<n;i++)
    {
        int b=a[i];
        if(b!=0)
        {
            int num=judge(b);
            while(num)
            {
                sum=sum*10;
                num--;
            }
            sum=sum+b;
        }
        else{
            sum=sum*10;
        }
    }
    return sum;
}
int main()
{
    int a[4]={3,12,0,1};
    for(int i=0;i<4;i++)
    {
        cout<<a[i]<<' ';
    }
    cout<<endl;
    cout<<fun(a,4)<<endl;
    return 0;
}

7.数字字符与整数转换算法:将字符串#ab78c15fk23d*中整型数据提取出来,合成一个整型数781523并输出来。再将781523整数的各个数位数字拆开存放到一维数组int b[10]中,并将一维数组中的元素转换为数字字符存放到字符数组s[100]中,并输出该数字字符串"325187".
代码:

#include<iostream>
#include<string.h>
using namespace std;
int main()
{
    string str;
    cin>>str;
    int a=str.length(),sum=0;
    for(int i=0;i<a;i++)
    {
        if(str[i]>='0'&&str[i]<='9')
        {
            sum=sum*10+str[i]-'0';
        }
    }
    cout<<sum<<endl;
    int b[10],j=0;
    while(sum)
    {
        b[j]=sum%10;
        sum=sum/10;
        j++;
    }
    for(int i=0;i<j;i++)
    {
        if(b[i])
        {
            cout<<b[i]<<' ';
        }
    }
    cout<<endl;
    char s[100];
    int num=0;
    for(int i=0;i<j;i++)
    {
        if((b[i]))
        {
            s[num]=b[i]+'0';
            num++;
        }
    }
    s[num]='\0';
    for(int i=0;i<num;i++)
    {
        cout<<s[i]<<' ';
    }
    cout<<endl;
    return 0;
}

8.循环结构:请从键盘输入一个正整数,求这个数是几位数,并求出该正整数的各个位上的数字之和。如输入1234,该正整数是4位数,各个数位上的数字之和为10.
代码:

#include<iostream>
using namespace std;
int a[100],b=0;
void fun(int n)
{
    while(n)
    {
        a[b]=n%10;
        n=n/10;
        b++;
    }
}
int main()
{
    int n;
    cin>>n;
    fun(n);
    cout<<"这是"<<b<<"位数"<<endl;
    int sum=0;
    for(int i=0;i<b;i++)
    {
        sum=sum+a[i];
    }
    cout<<"和为"<<sum<<endl;
    return 0;
}

9.求1-1/2+1/3-1/4+……+1/99-1/100的和。
代码:

#include<iostream>
using namespace std;
int main()
{
    int i;
    float s,t,sum;
    t=1;
    sum=0;
    s=1;
    for(i=2;i<=100;i++)
    {
        sum=sum+t;
        s=-s;
        t=s/i;
    }
    cout<<sum<<endl;
    return 0;
}

10.从键盘输入一个整数n,将该整数的每一位上的数字拆开,存放到一维数组int a[10]中,该过程用独立函数形式实现。并将一维数组中的元素取出合成一个数,并输出合成的数和一维数组元素。如n:1234,存放到一维数组中的顺序为4 3 2 1,合成一个数为4321。
代码:

#include<iostream>
using namespace std;
int a[100],b=0;
void fun(int n)
{
    while(n)
    {
        a[b]=n%10;
        n=n/10;
        b++;
    }
}
int main()
{
    int n;
    cin>>n;
    fun(n);
    for(int i=0;i<b;i++)
    {
        cout<<a[i]<<' ';
    }
    cout<<endl;
    int sum=0;
    for(int i=0;i<b;i++)
    {
        sum=sum*10+a[i];
    }
    cout<<sum<<endl;
    return 0;
}

二、类的问题:

1.问题描述如下:
(1)定义一个类Array, 它的数据成员和成员函数如下:
私有数据: int b[10];
公有成员函数: Array(int t[]); //功能为一维数组b初始化
void sort(); //功能为实现对一维数组从大到小排序
void move(); // 功能为将一维数组元素循环后移一位
void print(); //功能为输出一维数组元素
(2)用类定义对象arr,并用对象arr调用成员函数,实现对一维数组元素排序和数组元素循环后移一位,并输出每次操作的结果。
代码:

#include<iostream>
using namespace std;
class Array{
private:
    int b[10];
public:
    Array(int t[]);
    void sort();
    void move();
    void print();
};
Array::Array(int t[])
{
    for(int i=0;i<10;i++)
    {
        b[i]=t[i];
    }
}
void Array::sort()
{
    for(int i=0;i<9;i++)
    {
        for(int j=i+1;j<10;j++)
        {
            if(b[i]<b[j])
            {
                int temp=b[i];
                b[i]=b[j];
                b[j]=temp;
            }
        }
    }
}
void Array::move()
{
    int temp=b[9];
    for(int i=8;i>=0;i--)
    {
        b[i+1]=b[i];
    }
    b[0]=temp;
}
void Array::print()
{
    for(int i=0;i<10;i++)
    {
        cout<<b[i]<<' ';
    }
    cout<<endl;
}
int main()
{
    int t[10]={1,4,2,5,3,7,8,6,9,22};
    Array arr(t);
    arr.print();
    arr.sort();
    arr.print();
    arr.move();
    arr.print();
    return 0;
}

2.问题描述如下:
(1)定义一个类Array, 它的数据成员和成员函数如下:
私有数据: int b[4][5];int s;
公有成员函数:Array(int t[][5]);//功能为二维数组b初始化
void sum();// 功能为求二维数组外围元素之和
void print();//功能为以矩阵形式输出二维数组元素
(2)用类定义对象array,并用对象array调用成员函数求出二维数组外围元素之和,输出二维数组元素。
代码:

#include<iostream>
using namespace std;
class Array{
private:
    int b[4][5];
    int s;
public:
    Array(int t[][5]);
    void sum();
    void print();
};
Array::Array(int t[][5])
{
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<5;j++)
        {
            b[i][j]=t[i][j];
        }
    }
    s=0;
}
void Array::sum()
{
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<5;j++)
        {
            if(i==0||i==3||j==0||j==4)
            {
                s=s+b[i][j];
            }
        }
    }
    cout<<s<<endl;
}
void Array::print()
{
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<5;j++)
        {
            cout<<b[i][j]<<' ';
        }
        cout<<endl;
    }
}
int main()
{
    int t[4][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
    Array array(t);
    array.print();
    array.sum();
    array.print();
    return 0;
}

3.问题描述如下:定义一个字符串类String,将字符串b拼接到字符串a中,(不能用拼接函数)。具体要求如下:
(1)私有数据成员
char a[100],b[100];
(2)公有成员函数
String(char c[],char d[]):构造函数,用参数初始化数据成员
void fun():功能函数,实现将b拼接到a的后面
void insert(int m);实现将字符数组b中的字符串插入到字符数组a中的第m个字符的位置。
void show():功能函数,输出数据成员
(3)用数据"123456789","abc"在主函数中对类测试。
代码:

#include<iostream>
#include<string.h>
using namespace std;
char str1[100],str2[100];
int i;
class String
{
private:
    char a[100],b[100];
public:
    String(char c[],char d[]);
    void fun();
    void insert(int m);
    void show();
};
String::String(char c[],char d[])
{
    for(int i=0;i<strlen(c)+1;i++)
    {
        a[i]=c[i];
    }
    for(int i=0;i<strlen(d)+1;i++)
    {
        b[i]=d[i];
    }
}
void String::fun()
{
    char str3[10000]={0};
    int j=0,i,k;
    for(i=0;i<strlen(a);i++,j++)
    {
        str3[j]=a[i];
    }
    for(k=0;k<strlen(b)+1;k++,j++)
    {
        str3[j]=b[k];
    }
    a[j]='\0';
    for(int f=0;f<j;f++)
    {
        a[f]=str3[f];
    }
    cout<<"fun done"<<endl;
}
void String::insert(int m)
{
    char str3[100]={0};
    int j,k,md,h;
    h=strlen(a);
    for(j=0;j<=m-2;j++)
    {
        str3[j]=a[j];
    }
    for(md=0;b[md]!='\0';j++,md++)
    {
        str3[j]=b[md];
    }
    for(k=h-m-2;a[k]!='\0';j++,k++)
    {
        str3[j]=a[k];
    }
    str3[j]='\0';
    for(int i=0;i<strlen(str3);i++)
    {
        a[i]=str3[i];
    }
    cout<<"insert done and result:"<<endl;
}
void String::show()
{
    for(int i=0;i<strlen(a)+1;i++)
    {
        cout<<a[i];
    }
    cout<<endl;
}
int main()
{
    cin.getline(str1,80);
    cin.getline(str2,80);
    String str(str1,str2);
    str.show();
    str.fun();
    str.show();
    cin>>i;
    str.insert(i);
    str.show();
    return 0;
}

4.问题描述如下:定义一个字符串类String,为指针变量p动态申请空间,并初始化。对p所指向的字符串进行逆序操作。具体要求如下:
(1)私有数据成员
char *p;
(2)公有成员函数
String(char *t):构造函数,用参数初始化数据成员
void fun():功能函数,实现对字符串进行逆序。
void show():功能函数, 输出数据成员
~String();析构函数,撤销对象。
(3)用数据"123456789"在主函数中对类测试。
代码:

#include<iostream>
using namespace std;
string s1;
int num;
class String{
private:
    char *p;
public:
    String(char *t);
    void fun();
    void show();
    ~String();
};
String::String(char *t)
{
    p=t;
}
void String::fun()
{
    num=s1.length();
    int temp=*(p+0);
    *p=*(p+num);
    *(p+0)=temp;
}
void String::show()
{
    for(int i=num-1;i>=0;i--)
    {
        cout<<*(p+i)<<' ';
    }
    cout<<endl;
}
String::~String()
{
    delete []p;
}
int main()
{
    cin>>s1;输入
    char *t=&s1[0];可以直接赋值char s1[10000]=”???????”那么上面一句就不要了
    String s(t);
    s.fun();
    s.show();
    return 0;
}

5.问题描述如下:定义一个类名为Array,为指针变量p动态申请空间,并初始化。对p所指向的一维数组逆序排序。具体要求如下:
(1)私有数据成员
int *p;
(2)公有成员函数
Array(int *t):构造函数,用参数初始化数据成员
void fun():功能函数,实现对一维数组进行逆序。
void show():功能函数, 输出数据成员
~Array();析构函数,撤销对象。
(3)在主函数中对类测试。例如int a[10]={1,2,3,4,5,6,7,8,9,0};
代码:

#include<iostream>
using namespace std;
class Array{
private:
    int *p;
public:
    Array(int *t);
    void fun();
    void show();
    ~Array();
};
Array::Array(int *t)
{
    p=t;
}
void Array::fun()
{
    int temp=*(p+0);
    *p=*(p+9);
    *(p+0)=temp;
}
void Array::show()
{
    for(int i=9;i>=0;i--)
    {
        cout<<*(p+i)<<' ';
    }
    cout<<endl;
}
Array::~Array()
{
    delete []p;
}
int main()
{
    int a[10]={1,2,3,4,5,6,7,8,9,0};
    Array arr(a);
    arr.fun();
    arr.show();
    return 0;
}

6.问题描述如下:定义一个类名为Array,为指针变量p动态申请空间,并初始化。具体要求如下:
(1)私有数据成员
char *p;int s;//s用来存放合成的数
(2)公有成员函数
Array(char *t):构造函数,用参数初始化数据成员
void fun():功能函数,实现对一个字符串中的数字字符,组合成一个整数。
void show():功能函数, 输出数据成员
~Array();析构函数,撤销对象。
(3)在主函数中对类测试。(如输入”a2bc3de4,输出234)。
代码:

#include<iostream>
#include<string>
using namespace std;
string str1;
class Array
{
private:
    char *p;
    int s;
public:
    Array(char *t);
    void fun();
    void show();
    ~Array();
};
Array::Array(char *t)
{
    p=t;
    s=0;
}
void Array::fun()
{
    int temp;
    int num=str1.length();
    for(int i=0;i<num;i++)
    {
        if(*(p+i)>='0'&&*(p+i)<='9')
        {
            temp=*(p+i)-'0';
            s=s*10+temp;
        }
    }

}
void Array::show()
{
    cout<<s<<endl;
}
Array::~Array()
{
    delete []p;
}
int main()
{
    cin>>str1;
    char *t=&str1[0];
    Array arr(t);
    arr.fun();
    arr.show();
    return 0;
}

7.试定义一个类Array,将二维数组的各行按其所有元素的和从小到大进行行排序,各行内元素之间的顺序保持不变。具体要求如下:
(1)私有数据成员
int a[4][4]; 原始数组。
(2)公有成员函数
Array(int k[][4],int n); 构造函数,用数组k的前n行元素初始化数组a。
int sum(int b[4][4],int k); 求数组b中第k行元素的和。
void exch(int b[4][4],int x,int y); 交换数组b的第x行与第y行。
void fun( ); 按题意对数组进行排序。
void print( ); 输出数组。
(3)在主函数中对该类进行测试。
输入示例:
原数组:
5 5 5 5
4 4 4 4
3 3 3 3
2 2 2 2
排序后的数组:
2 2 2 2
3 3 3 3
4 4 4 4
5 5 5 5
代码:

#include<iostream>
using namespace std;
class Array{
private:
    int a[4][4];
public:
    Array(int k[][4],int n);
    int sum(int b[4][4],int k);
    void exch(int b[4][4],int x,int y);
    void fun();
    void print();
};
Array::Array(int k[][4],int n)
{
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<4;j++)
        {
            a[i][j]=k[i][j];
        }
    }
}
int Array::sum(int b[4][4],int k)
{
    int num=0;
    for(int i=0;i<4;i++)
    {
        if(i==k-1)
        {
            for(int j=0;j<4;j++)
            {
                num=num+b[i][j];
            }
        }
        else
            continue;
    }
    return num;
}
void Array::exch(int b[4][4],int x,int y)
{
    //约定x<y;
    int temp[4];
    int c=x-1,d=y-1;
    for(int i=0;i<4;i++)
    {
        if(i==c)
        {
            for(int j=0;j<4;j++)
            {
                temp[j]=b[c][j];
            }
        }
        if(i==d)
        {
            for(int j=0;j<4;j++)
            {
                b[c][j]=b[d][j];
                b[d][j]=temp[j];
                cout<<"第"<<i<<"and"<<y<<"changed"<<endl;
            }
        }
    }
}
void Array::fun()
{
    for(int i=1;i<=3;i++)
    {
        for(int j=i+1;j<=4;j++)
        {
            if(sum(a,i)>sum(a,j))
            {
                exch(a,i,j);
            }
        }
    }
}
void Array::print()
{
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<4;j++)
        {
            cout<<a[i][j]<<' ';
        }
        cout<<endl;
    }
}
int main()
{
    int k[4][4]={5,5,5,5,4,4,4,4,3,3,3,3,2,2,2,2};
    int m[5][4]={20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
    Array arr1(k,4);
    Array arr2(m,4);
    arr1.print();
    cout<<endl;
    arr2.print();
    cout<<endl;
    arr1.fun();
    cout<<endl;
    arr2.fun();
    cout<<endl;
    arr1.print();
    cout<<endl;
    arr2.print();
    cout<<endl;
    return 0;
}

8.继承与派生:定义一个圆类circle作为基类,公有派生出圆柱体的类colum,求出圆柱体的体积。具体要求如下:
(1)类circle
保护数据成员: float r; //圆的半径
公有构造函数: circle(float); //初始化r
公有成员函数: float getr(); //取圆的半径r
double area(); //求圆的面积
(2)类colum
保护数据成员: float h; //圆柱体的高
公有构造函数: colum(float,float); //初始化r和h
公有成员函数: float geth(); //取圆柱体的高h
double vol (); //求圆柱体的体积
(3)编写一个程序测试该类,测试数据及要求如下:
圆柱体对象:v(1.0,3.0);
本程序的执行结果如下:
圆柱体属性数据:
半径:1米
高度:3米
面积:3.14平方米
体积:9.42立方米
代码:

#include<iostream>
#define pi 3.1415926
using namespace std;
class circle{
protected:
    float r;
public:
    float getr();
    double area();
    circle(float a);
};
circle::circle(float a)
{
    r=a;
}
float circle::getr()
{
    return r;
}
double circle::area()
{
    return pi*r*r;
}
class colum:public circle
{
protected:
    float h;
public:
    colum(float ri,float high);
    float geth();
    double vol();
};
colum::colum(float ri,float high):circle(ri)
{
    h=high;
}
float colum::geth()
{
    return h;
}
double colum::vol()
{
    return pi*r*r*h;
}
int main()
{
    colum v(1.0,3.0);
    cout<<"半径:"<<v.getr()<<"米"<<endl;
    cout<<"高度:"<<v.geth()<<"米"<<endl;
    cout<<"面积:"<<v.area()<<"平方米"<<endl;
    cout<<"体积:"<<v.vol()<<"立方米"<<endl;
    return 0;
}
发布了16 篇原创文章 · 获赞 21 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_26056015/article/details/103336558
今日推荐