菜鸟学习TASK2

写在前面:
DDL压身真的有点无力……指针确实还是理解不够,太弱了。。。
刷题方面,,,LEETCODE还是写不习惯,,,做了俩,然后有几题试图但是没有完成【包括#10正则表达……】然后洛谷上面做了一点,,,思路的代码实现有点不够熟练,然后调试方面有时会忽略一点细节问题。
我尽量把时间表排好。。。

基础任务

暂时只放思路……

1.

编程实现:用户给定一个整数,将该整数逆置之后输出。(如:输入123,输出321)。a.给定整数,不要用字符串来完成。b.尽可能使时间复杂度小。c.要求能够完成214748364792这个数字的逆置。

思路

整数处理就考虑用10进行除法(/)和模运算(%),不断读取个位数直到读取完毕。
数据规模较大,考虑用long long 处理。
:高中刷题时好像了解过超长变量,忘了怎么搞。

2.

编程实现:给定一串任意字符串(如:1023fase415#145#)要求,将其中的所有整数提取出来并存入整数数组(例子中的是{1023, 415, 145}三个)
#include<stdio.h>
#include<string.h>
char strin[10005];
int len=0,top=0,state=1,flag=0,num[5003];

int main(void)
{
scanf("%s",&strin);
len=strlen(strin);
for(int i=len-1;i>=0;i–)
{
if(strin[i]>=‘0’&&strin[i]<=‘9’)
{
flag=1;
num[top]+=(int)(strin[i]-‘0’)state;
state
=10;
}
else
{
if(flag==1)
{
top++;
}
flag=0;
state=1;
}
}
top++;flag=0;state=1;
for(int i=top-1;i>=0;i–)
printf("%d\n",num[i]);
return 0;
}

3.

编程实现:给定一串任意字符串(如:10.23fase4.15#14.5#)要求,将其中的所有数字提取出来并存入double数组(例子中的是{10.23, 4.15, 14.5}三个)。

思路

因为以前做过前后缀表达式的运算,所以考虑直接字符串的倒序读取,然后用栈做处理。读取到数字就作为
起止标志。整数数位单独使用一个int变量处理,读一位就×10,小数数位再补充一个int变量,确定小数位数。
小数相关的处理考虑对常数添加".0"或者进行强制类型转换。

提高任务

指针T1,忘了cpp值在++时已经变了…
表达式就是指针位置的变化,然后从所指位置输出字符串直到遇到终止符。[-1][-1]好像跟[-2]差不多……?
然后指针后面[±数字]影响位置。。。
后两个继续咕。。。。。。
2.普通排序的基础上,再增加一条id的赋值来交换位置。然后double的大小比较作差来处理。
PS:排序也咕得差不多了,,,大概只能先冒泡。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值