C、C++编程题目和代码3

上传人:汽*** 文档编号:510585815 上传时间:2023-05-16 格式:DOC 页数:97 大小:184.50KB
返回 下载 相关 举报
C、C++编程题目和代码3_第1页
第1页 / 共97页
C、C++编程题目和代码3_第2页
第2页 / 共97页
C、C++编程题目和代码3_第3页
第3页 / 共97页
C、C++编程题目和代码3_第4页
第4页 / 共97页
C、C++编程题目和代码3_第5页
第5页 / 共97页
点击查看更多>>
资源描述

《C、C++编程题目和代码3》由会员分享,可在线阅读,更多相关《C、C++编程题目和代码3(97页珍藏版)》请在金锄头文库上搜索。

1、-目 录1.矩阵左转22.函数指针函数调用43.数字判断指针为函数参数74.字符串比较字符指针85.秘钥加密法指针应用106.谁是老二构造体127.抄袭查找构造体+指针+函数158.构造和链表初步指针+构造(冒泡排序)189.堆栈练习类和对象实验一2010.随机数练习类和对象实验一2211.买彩游戏类和对象实验一2512.堆栈练习扩展类和对象实验一2813.堆栈排序练习类和对象实验一3014.Date(类与对象)3215.点和圆(类与对象)3616.分数类3917.软件备份(拷贝构造函数)4418.升位(拷贝构造函数)4719.Equation(类与对象)4920.ple*(类与对象)50设定

2、复合类51Point_Array(类与对象)55Array(类与对象)59软件备份(拷贝构造函数)63分数类66=1.矩阵左转输入一个2*3的矩阵,将这个矩阵向左旋转90度后输出比方现在有2*3矩阵:1 2 34 5 6向左旋转90度后的矩阵变为:3 62 51 4要求:除了矩阵创立和数据输入可以使用数组和数组下标的方法,其他过程对矩阵的任何访问都必须使用指针提示:m行n列的二维矩阵,第i行第j列的元素与首元素的距离为i*n+j,序号从0开场计算输入第一行输入t表示有t个测试实例连续两行输入一个2*3的矩阵的数据依次输入t个实例输出依次输出左转后的矩阵结果在输出的每行中,每个数据之间都用空格隔

3、开,最后一个数据后面也带有空格样例输入21 2 34 5 64 5 67 8 9样例输出3 6 2 5 1 4 6 9 5 8 4 7 *includeusing namespace std;void change(int *p,int *q);int main()int a23,b32;int i,j,t;cint;while(t-)for(i=0;i2;i+)for(j=0;jaij;change(a0,b0);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);/b2-

4、ji=aij;for(i=0;i3;i+)for(j=0;j2;j+)cout*(q+2*i+j) ;coutendl;=2.函数指针函数调用定义并实现三个函数:第一个函数是整数函数,返回类型为整数,参数是一个整数变量,操作是求该变量的平方值第二个函数是浮点数函数,返回类型为浮点数,参数是一个浮点数变量,操作是求该变量的平方根值。求平方根可以使用函数sqrt浮点参数,将返回该参数的平方根,在VC中需要头文件cmath。第三个函数是字符串函数,无返回值,参数是一个字符串指针,操作是把这个字符串所有小写字母变成大写。要求:定义三个函数指针分别指向这三个函数,然后根据调用类型使用函数指针来调用这三个

5、函数。不能直接调用这三个函数。如果类型为I,则通过指针调用整数函数;如果类型为F,则通过指针调用浮点数函数;如果类型为S,则通过指针调用字符串函数输入第一行输入一个t表示有t个测试实例每行先输入一个大写字母,表示调用类型,然后再输入相应的参数依次输入t行输出每行输出调用函数后的结果样例输入5S shenzhenI 25F 6.25I 31S China样例输出SHENZHEN6252.5961CHINA*include*include*includeusing namespace std;int fuck1(int a);float fuck2(float a);void fuck3(char

6、 *a);int main() int (*INT)(int); float (*FLOAT)(float); void (*CHAR)(char *a); char ch,b30; int a,t; float c; cint; while(t-) cinch; if(ch=I) INT=fuck1; cina; coutINT(a)c; coutFLOAT(c)b; CHAR(b); coutbendl; int fuck1(int a) return a*a;float fuck2(float a) return sqrt(a);void fuck3(char *a) int i,l=s

7、trlen(a); for(i=0;i=a & *(a+i)=z) *(a+i)=*(a+i)-32;=3.数字判断指针为函数参数输入一个字符串,判断这个字符串是否一个完全整数值的字符串,例如输入1234,则表示整数1234,输入12a3就表示只是一个字符串,不是一个整数要求编写函数isNumber,参数是一个字符指针,返回值是整数类型如果字符串表示一个整数,则计算出这个整数并且返回如果字符串不是表示一个整数,则返回-1主函数必须调用isNumber来判断字符串,不能使用任何C+自带或第三方的类似函数输入输入t表示有t个测试实例每行输入一个字符串依次输入t行输出每行输出判断结果样例输入3123

8、4567a0890样例输出1234-1890*include*includeusingnamespacestd;intisnumber(char*a);intmain()intl,k=0,t;chara20;char*p;p=a;cint;while(t-)cina;coutisnumber(p)endl;intisnumber(char*a)inti,j,l,m=0;l=strlen(a);for(i=0;il;i+)if(isdigit(ai)m=m*10+ai-0;elsereturn-1;returnm;=4.字符串比较字符指针编写一个函数比较两个字符串,参数是两个字符指针要求显式定义

9、,例如char *S, char *T),比较字符串S和T的大小。如果S大于T,则返回1,如果S小于T则返回-1,如果S与T相等则返回0。比较规则:1.把两个字符串的一样位置上的字符进展比较,字符的大小比较以ASCII值为准2.在比较中,如果字符串S的字符大于字符串T的字符的数量超过小于的数量,则认为S大于T,如果等于则S等于T,如果小于则S小于T例如S为aaccdd,T为eebbbb,每个位置比较得到S前两个字母都小于T,但后4个字母都大于T,最终认为S大于T3.如果两个字符串长度不同,则更长的字符串为大在主函数中输入两个字符串,并调用该函数进展判断,在判断函数中必须使用函数参数的指针进展字

10、符比较输入输入t表示有t个测试实例接着每两行输入两个字符串依次输入t个实例输出每行输出一个实例的比较结果样例输入3aaccddeebbbbAAbb+aaEE*-zznnkkaaaaaaa样例输出10-1*include*includeusingnamespacestd;intbijiao(char*a,char*b);intmain()chara30,b30;intt;cint;while(t-)cinab;coutbijiao(a,b)n) return1;elseif(m*(b+i)*+;elsey+;if(*y)return1;elseif(*=y)return0;elsereturn-1;=5.秘钥加密法指针应用有一种方式是使用密钥进展加密的方法,就是对明文的每个字符使用密钥上对应的密码进展加密,最终得到密文例如明文是abcde,密钥是234,则加密方法就是a对应密钥的2,也就是a

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号