C、计算机C++编程题目和代码3

上传人:ali****an 文档编号:109975996 上传时间:2019-10-28 格式:DOC 页数:70 大小:475.76KB
返回 下载 相关 举报
C、计算机C++编程题目和代码3_第1页
第1页 / 共70页
C、计算机C++编程题目和代码3_第2页
第2页 / 共70页
C、计算机C++编程题目和代码3_第3页
第3页 / 共70页
C、计算机C++编程题目和代码3_第4页
第4页 / 共70页
C、计算机C++编程题目和代码3_第5页
第5页 / 共70页
点击查看更多>>
资源描述

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

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

2、on(类与对象)4920.Complex(类与对象)50身份证设定(复合类)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=

4、0;j3;j+)*(q+4-2*j+i)=*(p+3*i+j);/b2-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(in

6、t a);float fuck2(float a);void fuck3(char *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) re

7、turn sqrt(a); void fuck3(char *a) int i,l=strlen(a); for(i=0;i=a & *(a+i)=z) *(a+i)=*(a+i)-32;=3.数字判断(指针为函数参数)输入一个字符串,判断这个字符串是否一个完全整数值的字符串,例如输入1234,那么表示整数1234,输入12a3就表示只是一个字符串,不是一个整数要求编写函数isNumber,参数是一个字符指针,返回值是整数类型如果字符串表示一个整数,则计算出这个整数并且返回如果字符串不是表示一个整数,则返回-1主函数必须调用isNumber来判断字符串,不能使用任何C+自带或第三方的类似函数输

8、入输入t表示有t个测试实例每行输入一个字符串依次输入t行输出每行输出判断结果样例输入31234567a0890样例输出1234-1890#include#includeusing namespace std;int isnumber(char *a);int main()int l,k=0,t;char a20;char *p;p=a;cint;while(t-)cina;coutisnumber(p)endl;int isnumber(char *a)int i,j,l,m=0;l=strlen(a);for(i=0;il;i+)if(isdigit(ai)m=m*10+ai-0;elser

9、eturn -1;return m;=4.字符串比较(字符指针)编写一个函数比较两个字符串,参数是两个字符指针(要求显式定义,例如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#includeusing namespace std;int bijiao(char *a,char *b);int main()char a30,b30;int t;cint;while(t-)cinab;coutbijiao(a,b)n) return 1;else if(mn) return -1;elsefor(i=0;*(a+i)!=0;i+)

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

当前位置:首页 > 高等教育 > 教育学

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