题目1
6-1 使用动态内存分配的冒泡排序。
代码清单:
#include <iostream>
using namespace std;
int* bubble_sort(int n);/* 对长度为n的数组执行冒泡排序 */
int main()
{
int n;
cin >> n;
int* a = bubble_sort(n);
for (int i = 0; i < n; i++) {
cout << a[i];
if (i < n - 1)cout << " ";
}
cout << endl;
return 0;
}
int* bubble_sort(int n)
{
int* r = new int[n];
for (int i = 0; i < n; i++)
{
cin >> r[i];
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n-i-1; j++)
{
if (r[j] > r[j + 1])
{
int temp = r[j];
r[j]= r[j+1];
r[j + 1] = temp;
}
}
}
return r;
}
运行结果截图
题目2
7-1 用引用变量作为形参,实现3个整数由小到大输出
代码清单:
#include<iostream>
using namespace std;
void swap(int &a,int &b,int &c)
{
int tamp;
if(a>b)
{
tamp=a;
a=b;
b=tamp;
}
if(b>c)
{
tamp=b;
b=c;
c=tamp;
}
if(a>c)
{
tamp=a;
a=c;
c=tamp;
}
if(a>b)
{
tamp=a;
a=b;
b=tamp;
}
}
int main()
{
int a,b,c;
cin>>a>>b>>c;
swap(a,b,c);
cout<<a<<" "<<b<<" "<<c<<endl;
return 0;
}
运行结果截图
题目3
7-2 函数重载(数据类型不同)
代码清单:
#include<iostream>
using namespace std;
void px(int n,int a[])
{
for(int i=0;i<n;i++)
{
for(int j=0;j<n-i-1;j++)
{
int t;
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
void px(int n,double b[])
{
for(int i=0;i<n;i++)
{
for(int j=0;j<n-i-1;j++)
{
double t;
if(b[j]>b[j+1])
{
t=b[j];
b[j]=b[j+1];
b[j+1]=t;
}
}
}
}
int main()
{
int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++)
cin>>a[i];
double b[n];
for(int i=0;i<n;i++)
cin>>b[i];
px(n,a);
px(n,b);
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
for(int i=0;i<n;i++)
cout<<b[i]<<" ";
return 0;
}
运行结果截图
题目4
7-3 字符统计
代码清单:
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
int n1=0,n2=0,n3=0,n4=0,n5=0;
char arr[100];
int i=0,n=0;
scanf("%c",&arr[i]);
while(arr[i]!='\n')
{
if(arr[i]>='0'&&arr[i]<='9')
n1++;
else if(arr[i]>='A'&&arr[i]<='Z')
n2++;
else if(arr[i]>='a'&&arr[i]<='z')
n3++;
else if(arr[i]==' ')
n4++;
else
n5++;
i++;
scanf("%c",&arr[i]);
}
printf("n1=%d n2=%d n3=%d n4=%d n5=%d",n1,n2,n3,n4,n5);
return 0;
}
运行结果截图
题目5
7-5 设计一个矩形类Rectangle并创建测试程序(C++)
代码清单:
#include<iostream>
using namespace std;
class Rectangle
{
double width,height;
public:
Rectangle(double a=1,double b=1)
{
width=a;
height=b;
}
double getArea()
{
return width*height;
}
double get()
{
return 2*(width+height);
}
};
int main()
{
double w,h;
cin>>w>>h;
Rectangle c1(w,h);
double zc;
double mj;
zc=c1.getArea();
mj=c1.get();
cout<<zc<<endl;
cout<<mj;
return 0;
}
运行结果截图