解题:1、Fibonacci数列 2、替换空格

  

目录

题目一:Fibonacci数列

题目二:替换空格


题目一:Fibonacci数列

具体要求如下:

 代码如下:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	int a = 0;//第一个
	int b = 1;//第二个
	int c = 0;
	while (1)
	{
		if (n == b)
		{
			printf("0\n");
			break;
		}
		else if (n < b)
		{
			printf("%d\n", (n - a) > (b - n) ? b - n : n - a);
			break;
		}
		c=a + b;
		a = b; 
		b = c;
	}
	return 0;
}

看完代码,如果还不理解的话,看图: 

         

 

 

 

题目二:替换空格

        请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

class Solution {
public:
	void replaceSpace(char *str,int length) {
            //str是要修改的字符串
            //length是要修改的字符串的长度
        char* cur=str;
        int count=0;
        while(*cur)
        {
            if(*cur==' ')
            {
                count++;
            }
            cur++;
        }
        int end1=length-1;
        int end2=length+2*count-1;
        while(end1!=end2)
        {
            if(str[end1]!=' ')
            {
                str[end2]=str[end1];
                end1--;
                end2--;
            }
            else
            {
                str[end2--]='0';
                str[end2--]='2';
                str[end2--]='%';
                end1--;
            }
        }
	}
};

补充: 

先将数组遍历一遍,找出有多少个空格,以便于后面需要多长的位置

 

没有空格时,end1 和end2同时走一步,将end1位置的数据,拷给end2位置

遇到空格,end1走一步,跳过空格,end2走三步,放入%20 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙洋静

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值