- 13
- 0
- 约4.46万字
- 约 105页
- 2021-09-06 发布于安徽
- 举报
- ..
- -可修编.
目 录
TOC \o 1-3 \h \u 1920 1.矩阵左转 2
22094 2.函数指针〔函数调用〕 4
1410 3.数字判断〔指针为函数参数〕 7
4092 4.字符串比拟〔字符指针〕 8
10108 5.秘钥加密法〔指针应用〕 10
32417 6.谁是老二〔构造体〕 12
6383 7.抄袭查找〔构造体+指针+函数〕 15
16575 8.构造和链表初步〔指针+构造〕(冒泡排序) 18
9042 9.堆栈练习〔类和对象实验一〕 20
29442 10.随机数练习〔类和对象实验一〕 22
19816 11.买彩游戏〔类和对象实验一〕 25
4801 12.堆栈练习扩展〔类和对象实验一〕 28
29258 13.堆栈排序练习〔类和对象实验一〕 30
32100 14.Date(类与对象) 32
30116 15.点和圆(类与对象) 36
15402 16.分数类 39
9975 17.软件备份(拷贝构造函数) 44
1761 18.升位(拷贝构造函数) 47
13284 19.Equation(类与对象) 49
32135 20.plex(类与对象) 50
18887 设定〔复合类〕 51
22526 Point_Array(类与对象) 55
18729 Array(类与对象) 59
1064 软件备份(拷贝构造函数) 63
16856 分数类 66
=======================================================================================================================
1.矩阵左转
输入一个2*3的矩阵,将这个矩阵向左旋转90度后输出
比方现在有2*3矩阵:
1 2 3
4 5 6?
向左旋转90度后的矩阵变为:
3 6
2 5
1 4
要求:除了矩阵创立和数据输入可以使用数组和数组下标的方法,其他过程对矩阵的任何访问都必须使用指针
提示:m行n列的二维矩阵,第i行第j列的元素与首元素的距离为i*n+j,序号从0开场计算
输入
第一行输入t表示有t个测试实例
连续两行输入一个2*3的矩阵的数据
依次输入t个实例
输出
依次输出左转后的矩阵结果
在输出的每行中,每个数据之间都用空格隔开,最后一个数据后面也带有空格
样例输入
2
1 2 3
4 5 6
4 5 6
7 8 9
样例输出
3 6
2 5
1 4
6 9
5 8
4 7
#includeiostream
using namespace std;
void change(int *p,int *q);
int main()
{
int a[2][3],b[3][2];
int i,j,t;
cint;
while(t--)
{
for(i=0;i2;i++)
for(j=0;j3;j++)
cina[i][j];
change(a[0],b[0]);
}
}
void change(int *p,int *q)
{
int i,j;
for(i=0;i2;i++)
for(j=0;j3;j++)
*(q+4-2*j+i)=*(p+3*i+j);
// b[2-j][i]=a[i][j];
for(i=0;i3;i++)
{
for(j=0;j2;j++)
cout*(q+2*i+j) ;
coutendl;
}
}
=======================================================================================================================
2.函数指针〔函数调用〕
定义并实现三个函数:
第一个函数是整数函数,返回类型为整数,参数是一个整数变量,操作是求该变量的平方值
第二个函数是浮点数函数,返回类型为浮点数,参数是一个浮点数变量,操作是求该变量的平方根值。求平方根可以使用函数sqrt〔浮点参数〕,将返回该参数的平方根,在VC中需要头文件cmath。
第三个函数是字符串函数,无返回值,参数是一个字符串指针,操作是把这个字符串所有小写字母变成大写。
要求:定义三个函数指针分别指向这三个函数,然后根据调用类型使用函数指针来调用这三个函数。不能直接调用这三个函数。
原创力文档

文档评论(0)