C博客作业--指针
一、PTA实验作业
题目1:使用函数实现字符串部分复制
1. 本题PTA提交列表
2. 设计思路
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明
- 赋值时减去t+m还要再减去1。
题目2:求子串在母串中最后一次出现的地址
1. 本题PTA提交列表
2. 设计思路
定义字符指针变量s1,s2,a;
赋值a=NULL;
while(*s)
s1=s; s2=t;
while(*s2)
判断*s2是否等于*s1,如果是s1++;s2++; 否则结束循环;
如果*s为空,则a=s;
s++;
返回a;
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明
- 要定义一个返回函数值NULL的指针。
题目3:字符串串动变化
1. 本题PTA提交列表
2. 设计思路
定义字符变量max,指针a;定义变量i=0;
max=p[i];
while(p[i])
如果max小于p[i];
a=p+i;
max=p[i];
i++;
while(*a)
将字符后移,并且第一个为max;
3.代码截图
4.本题调试过程碰到问题及PTA提交列表情况说明
- 无。
二、截图本周题目集的PTA最后排名
三、阅读代码
- IP地址转换
#include<stdio.h>
int main()
{
char s[33],c;
int sum=0,put[4],cnt=0;
for(int i=1;i<=32;i++){
c=getchar();
sum=sum*2+c-'0';
if(i%8==0){
put[cnt++]=sum;
sum=0;
}
}
printf("%d.%d.%d.%d",put[0],put[1],put[2],put[3]);
return 0;
}
- 该代码利用ip地址规定的4个二进制转十进制的数定义了数组put来存放,用一句sum=sum*2+c-'0'直接实现字符和整形的转换和二进制和十进制的转换,在8个字符后重新赋值sum。代码很巧妙,所以很简短。
- 这是吴军霖同学PTA中 删除字符串中的子串的代码。
- 他总共才用了19行代码,而网上的都是几十行的复杂代码,可见他的代码十分简洁,这种删除子串的方式构思巧妙,通过重构母串数组s来达成删除子串的目的。效率较高,占用空间也较小。
四、本周学习总结
1.自己总结本周学习内容
- 学会了指针的基本使用,但对它的概念还不是很熟。
- 学会了使用函数将数组和指针进行传递。
- 学会了字符串的一些函数,极大提高对字符串的操作。
2.罗列本周一些错题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构