栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言编程题答案(原题链接、画图+思路、源码)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言编程题答案(原题链接、画图+思路、源码)

由于最近课程较多,所以更新的比较慢,接下来的一段时间会不定期更文;

在上篇文章中提到了C语言单选题的答案讲解,那么本篇文章开始编程题目的分析和讲解,

文章中有编程题的源码,请各位铁汁们注意接收和查看:

topic1

原题链接:Fibonacci数列__牛客网

原题描述:

我的思路:

一般情况:遍历前100项,知道N的值小于数组中的一个元素break,再然后比较N-fb(i-1)和 fib(i)-1的大小,

谁小输出谁的值。

特殊情况:N为1,输入为0;

求出前1000项的斐波那契的每一项,这里为什么前100项,因为N的范围是有限制的,

斐波那契前100和前1000项的取值在这里可以看一下:

 源码:
#include 
int main()
{
    int n = 0;
    scanf("%d", &n);
    if (n == 1)
    {
        printf("0n");
        return 0;
    }
    int Fib[100] = { 0 };
    Fib[0] = 1;
    Fib[1] = 1;
    int i = 0;
    for (i = 2; i < 100; i++)
    {
        Fib[i] = Fib[i-1] + Fib[i-2];
        if (n <= Fib[i])
            break;
    }
    //遍历数组
    if (n - Fib[i - 1] <= Fib[i] - n)
    {
        printf("%dn", n - Fib[i - 1]);
    }
    else
    {
        printf("%dn", Fib[i] - n);
    }
    return 0;

}

鹏哥的思路:

topic2

原题链接:替换空格__牛客网

 题目描述:

这这里很多人就会想了,在实际运用中真的会有这种情况吗?为什么会有这样的编程题?

下面打开一个搜索网页:

在实际的搜索中空格会被自动转化为其他字符填充,这样搜索才能是连续的; 

这道题我在做的时候是没有通过测试用例的,所以这道题的答案是按照鹏哥的思路进行解释的;

鹏哥的思路:

刚开始元素个数为len,后来空间为:

新的数组(只是数组空间变大)的空间为new+空格的数目*(3-1) ,因为每添加一个空格就会替换为3个字符,

实际上增加了两个字符。

定义两个常数end1表示原始数组的最后一个元素,end2表示新的数组的最后一个元素。

从end1指向的位置开始向拷贝,遇到空格的话增加两个字符end2- - 三次,end1- - 一次。

当end1和end2相同的时候停止。

源码:
class Solution {
public:
	void replaceSpace(char *str,int length) {
        char* p = str;
        int count = 0;
        while(*p != '')
        {
            if(*p == ' ')
                count++;
            p++;
        }
        int newlength = length+2*count;
        int end1 = length-1;
        int end2 = newlength-1;
        while(end1 != end2)
        {
            if(str[end1] != ' ')
            {
                str[end2--] = str[end1--];
            }
            else
            {
                str[end2--] = '0';
                str[end2--] = '2';
                str[end2--] = '%';
                end1--;
            }
        }
	}
};

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/847436.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号