#一、PTA指针实验作业。
##题目1:
##1. 本题PTA提交列表:
##2. 设计思路: 1,创建三个数组a[100], b[100], c[100],初始化,用作容器;
2,把传递过来的数组s[]的前三个数据放进a[]里,把剩下的数据放入b[]里面,
3,最后把数组b和数组a依次赋值给数组s,最后返回子函数。
流程图:
主要描述题目算法:
void Shift(char s[]) { int i, t, d = 0, e; char a[100], b[100], c[100]; memset(a, 0, sizeof(a));//abc数组都没有初始化,里面的数据不能保证是正常的 memset(b, 0, sizeof(b)); memset(c, 0, sizeof(c)); e = strlen(s); for (i = 0; i<e; i++) { if (i <= 2) { a[i] = s[i]; } if (i>2) { b[d] = s[i]; d++; } } d = 0; t = strlen(b); for (i = 0; i<e; i++) { if (i<t) { s[i] = b[i]; //c[i] = b[i]; } if (i >= t) { s[i] = a[d]; //c[i] = a[d]; d++; } } // puts(c); return;//void也写上return比较好 }
##3.本题调试过程碰到问题及PTA提交列表情况说明。
##题目2:
##1. 本题PTA提交列表:
##2. 设计思路:1,直接用指针指向,用函数把数组t 放到数组s 后面。
2,再将数组s返回到主函数中。
流程图:
主要描述题目算法:
char *str_cat( char *s, char *t ) { strcat(s,t); return s; }
##3.本题调试过程碰到问题及PTA提交列表情况说明。
因为本题有引用字符串函数,所以本就没必要再去写strcat函数的原型,偷懒也无所谓了。
##题目3:
##1. 本题PTA提交列表:
##2. 设计思路:1,主函数传递了一个参数n,在子函数中进行选择;
2,由指针指向返回主函数。
流程图:
主要描述题目算法:
char *getmonth( int n ) { switch(n) { case 1:return "January"; case 2:return "February"; case 3:return "March"; case 4:return "April"; case 5:return "May"; case 6:return "June"; case 7:return "July"; case 8:return "August"; case 9:return "September"; case 10:return "October"; case 11:return "November"; case 12:return "December"; default:return NULL; } }
##3.本题调试过程碰到问题及PTA提交列表情况说明。
#二、同学代码结对互评。
##1.同学互评照片
我的代码和杨晓琪的互评
6-4 字符串的连接
##2.我的代码、互评同学代码截图(此处截图核心代码就好,不一定截图全部代码,图上指明是谁的代码。)
我的代码:
同学的代码(杨晓琪):
##3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
我的代码是投机取巧的,因为看到题目有 “#include<string>” 就直接用了函数“strcat()”;
杨晓琪同学的代码是按照出题人给的意思做出了“strcat()”的原型函数,666,实属我辈学习之楷模,今后学习要向杨同学看齐。
#三、截图本周题目集的PTA最后排名
#四、本周学习总结。
指针简单理解为地址。
指针的类型要和指针指向的数据类型要相同。
对简单的指针能有一定的理解和应用,对进阶进阶的知识还很难掌握应用,尤其是指向函数的指针,指向指针的指针。
原文地址:https://www.cnblogs.com/yatouf/p/8318855.html