C/C++每日一练(20230416) 数列第n项、整数转英文、数组最大值及索引

简介: C/C++每日一练(20230416) 数列第n项、整数转英文、数组最大值及索引

1. 求数列第n项值

求数列第n项值:1,2,3,6,11,20,37,68,125,230,.....例如:第7项为37,第9项为125。

出处:

https://edu.csdn.net/practice/25740845

代码:

#include <stdio.h>
int main(void) { 
    int n;
    printf("请输入n的值:");
    scanf("%d",&n);
    if(n==1){
        printf("第1项为1\n");
    }else if(n==2){
        printf("第2项为2\n");
    }else if(n==3){
        printf("第3项为3\n");
    }else{
        int f1=1,f2=2,f3=3;
        int i,fn;
        for(i=4;i<=n;i++){
            fn=f1+f2+f3;
            f1=f2;
            f2=f3;
            f3=fn;
        }
        printf("第%d项为%d\n",n,fn);
    }
    return 0;
}

输出:

略,这是扩展版的斐波那契数列:第4项起都是前三项之和。


2. 整数转换英文表示

将非负整数 num 转换为其对应的英文表示。

示例 1:

输入:num = 123

输出:"One Hundred Twenty Three"


示例 2:

输入:num = 12345

输出:"Twelve Thousand Three Hundred Forty Five"


示例 3:

输入:num = 1234567

输出:"One Million Two Hundred Thirty Four Thousand Five Hundred Sixty Seven"


示例 4:

输入:num = 1234567891

输出:"One Billion Two Hundred Thirty Four Million Five Hundred Sixty Seven Thousand Eight Hundred Ninety One"


提示:

  • 0 <= num <= 2^31 - 1

出处:

https://edu.csdn.net/practice/25740846

代码:

#include <bits/stdc++.h>
using namespace std;
class Solution
{
public:
    const int Mod[3] = {1000000000, 1000000, 1000};
    string H[3] = {"Billion", "Million", "Thousand"},
           M[8] = {"Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"},
           L[20] = {"Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten",
                    "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"};
    void update(string &ans)
    {
        ans += ans == "" ? "" : " ";
    }
    string numberToWords2(int num)
    {
        if (num < 20)
            return L[num];
        string ans;
        if (num >= 100)
            ans += L[num / 100] + " Hundred", num %= 100;
        if (num == 0)
            return ans;
        else if (num < 20)
            update(ans), ans += L[num];
        else
        {
            update(ans), ans += M[num / 10 - 2], num %= 10;
            if (num == 0)
                return ans;
            else
                update(ans), ans += L[num];
        }
        return ans;
    }
    string numberToWords(int num)
    {
        if (num < 20)
            return L[num];
        string ans;
        for (int i = 0; i < 3; ++i)
            if (num >= Mod[i])
                update(ans), ans += numberToWords2(num / Mod[i]) + " " + H[i], num %= Mod[i];
        if (num)
            update(ans), ans += numberToWords2(num);
        return ans;
    }
};
int main()
{
  Solution s;
    cout << s.numberToWords(123) << endl;
    cout << s.numberToWords(12345) << endl;
  cout << s.numberToWords(1234567) << endl;
    cout << s.numberToWords(1234567891) << endl;
    return 0;
}

输出:

One Hundred Twenty Three

Twelve Thousand Three Hundred Forty Five

One Million Two Hundred Thirty Four Thousand Five Hundred Sixty Seven

One Billion Two Hundred Thirty Four Million Five Hundred Sixty Seven Thousand Eight Hundred Ninety One


3. 数组中找出最大值及索引位置。

任意输入10数,存入数组,找出显示最大值,并且标记所在位置。

出处:

https://edu.csdn.net/practice/25740847

代码:

#include <stdio.h>
int main()
{
    int a[10],i,max,maxindex;
    for(i =0;i<10;i++)
        scanf("%d",&a[i]);
    max = a[0];  
    maxindex = 0;
    for (i =1;i<10;i++)
    {
        if(a[i] > max)
        {
            max = a[i];    
            maxindex = i;  
        }
    }
    printf("最大值%d,索引:%d\n",max,maxindex);
    return 0;
}

输出:


🌟 每日一练刷题专栏 🌟

持续,努力奋斗做强刷题搬运工!

👍 点赞,你的认可是我坚持的动力!

🌟 收藏,你的青睐是我努力的方向!

评论,你的意见是我进步的财富!  

主页:https://hannyang.blog.csdn.net/


目录
相关文章
|
17天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
16天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
27天前
|
机器学习/深度学习 数据挖掘 程序员
探索Python编程:从基础到进阶的旅程
在这篇文章中,我们将一同踏上一场激动人心的Python编程之旅。无论你是初学者还是有一定经验的开发者,这里都有适合你的内容。文章分为三个部分:首先是“启程前的准备”,我们会介绍Python的安装和基本工具;其次是“旅途中的风景”,将通过实际代码示例深入探讨Python的核心概念;最后,“到达目的地”会带你了解如何将所学知识应用于实际项目。让我们开始吧!
|
4天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
98 80
|
23天前
|
存储 索引 Python
Python编程数据结构的深入理解
深入理解 Python 中的数据结构是提高编程能力的重要途径。通过合理选择和使用数据结构,可以提高程序的效率和质量
134 59
|
3天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
17 2
|
16天前
|
小程序 开发者 Python
探索Python编程:从基础到实战
本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
41 10
|
19天前
|
机器学习/深度学习 人工智能 Java
Python 语言:强大、灵活与高效的编程之选
本文全面介绍了 Python 编程语言,涵盖其历史、特点、应用领域及核心概念。从 1989 年由 Guido van Rossum 创立至今,Python 凭借简洁的语法和强大的功能,成为数据科学、AI、Web 开发等领域的首选语言。文章还详细探讨了 Python 的语法基础、数据结构、面向对象编程等内容,旨在帮助读者深入了解并有效利用 Python 进行编程。
|
18天前
|
机器学习/深度学习 人工智能 数据挖掘
探索Python编程的奥秘
在数字世界的海洋中,Python如同一艘灵活的帆船,引领着无数探险者穿梭于数据的波涛之中。本文将带你领略Python编程的魅力,从基础语法到实际应用,一步步揭开Python的神秘面纱。
37 12
|
17天前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
下一篇
DataWorks