C++基础知识点+案例解释(第八集)

举报
迈热 发表于 2022/04/28 19:27:47 2022/04/28
【摘要】 C++基础知识点+案例解释(第八集)

📋个人简介

📜个人简介 :
🎅 作者简介:大家好,我是迈热✌️
🌝 支持一下:点赞👍+收藏🌟+留言📪
📣 系列专栏:java基础,C++基础🍁
✉️格言:先把键盘敲烂再说💻往死里敲!🌞

🌞学习前的小唠叨

🌈🌈哈喽 兄弟萌! 我们都在想成为大佬的路上加油着👍
既然我们已经踏入了学习这一长路, 那么就把它做的让
自己满意为止💜 加油兄弟萌!!!!😝

在这里插入图片描述

@[TOC](目录)

🍄 前言

🍊这一期我们学习有关C++For循环性质编程实训的知识点和案例🍊

🐳案例一:根据输入年月计算该月份的天数

🌱🌱求累加和几乎遍及所有的主流编程语言,理解累加和的求解过程对于掌握循环语句的精髓具有非常重要的作用。本关要求利用for循环来求1到n间所有整数的和。

  • 🍒🍒 for语句的一般格式:
    • 🌴 for(表达式1 ; 表达式2 ; 表达式3) { }

在这里插入图片描述

  • 🍒🍒 for语句的执行流程示意图如上图所示,执行流程描述如下:
    • 🌴 计算表达式1的值;
    • 🌴 计算表达式2的值,若表达式的值为真(或非0),则执行循环体;
    • 🌴 计算表达式3的值;
    • 🌴 再次计算表达式2的值,并重复以上过程;
    • 🌴 直到表达式2的值为假(或为0),则结束该循环。

🌱🌱 从逻辑关系看:循环初始条件可在表达式1中,循环条件的判断可包含在表达式2中,而循环条件变量的修改可包含在表达式3中,也可放在循环体中。

💦1.1 案例一需求

  • 🍒🍒 需求:定义一个子函数,在子函数中编写根据输入年月计算该月份的天数
  • 🍒🍒 案例思路:
    • 🌴 定义一个子函数SumOfNumber
    • 🌴 从键盘输入输入一个int类型的整数
    • 🌴 在子函数SumOfNumber给出累加和的算法
    • 🌴 调用子函数SumOfNumber
    • 🌴 输出相应结果

💦1.2 案例一代码演示

#include<iostream>
using namespace std; 

int SumOfNumber(int n)
{
    int sum=0;
    for (int i = 1; i <= n; i++)
    {
        sum += i;
    }
    return sum;
}

int main()
{
	
    int n;
    // 从键盘输入一个int型数值
	cout<<"请输入一个int型数值:"<<endl; 
    cin >> n;
    cout << SumOfNumber(n) << endl;
}

💦1.3 案例一运行结果

  • 🍒🍒 编译结果:

在这里插入图片描述

在这里插入图片描述

🐳案例二:求s=a+aa+aaa+aaaa+aa…a的值

🌱🌱本案例是求累加和,但与上一案例相比难度稍有提高。要求利用for循环来求s=a+aa+aaa+aaaa+aa…a的值,其中a为一个正整数,n为最后一项中a的个数。也就是要求s的值,首先需要求其中每一项的值,然后求各项的累加和。

💦1.1 案例二需求

  • 🍒🍒 需求:根据输入的数值和运算符做相应运算

  • 🍒🍒 案例思路:

    • 🌴 定义一个子函数FunCal
    • 🌴 从键盘输入两个数及算数运算符
    • 🌴 在子函数中给出相应的计算方法
    • 🌴 调用子函数FunCal
    • 🌴 输出结果

💦1.2 案例二代码演示

#include<iostream>
using namespace std;

// 求s=a+aa+aaa+aaaa+aa...a的值
int FunCal(int a, int n)
{
    int s;
    int t=0;
    for(int i=1;i<=n;i++)
    {
        t=t*10+a;
        s+=t;
    }
    return s;

}

int main()
{
    int a,n;

    // 从键盘输入两个int型数值
	cout<<"请输入两个int型数值:"<<endl; 
    cin >> a >> n;
    cout <<FunCal(a,n) << endl;
}

💦1.3 案例二运行结果

  • 🍒🍒 当输入正确时:

在这里插入图片描述

在这里插入图片描述

🐳案例三:求1!+2!+3!+⋯+n!的值

🌱🌱 本案例是求累加和,即要求利用for循环来计算1!+2!+3!+…+n!的值。该算式中的每一项都是一个阶乘,所以要求最终的累加和,需要先求出每一项阶乘的结果。

🌱🌱 所谓阶乘,是指从1乘以2乘以3乘以4一直乘到所要求的数。阶乘使用符号“!”来表示,如5的阶乘是5!=1乘2乘3乘4乘5。

💦1.1 案例一三

  • 🍒🍒 需求:求1!+2!+3!+⋯+n!的值

  • 🍒🍒 案例思路:

    • 🌴 定义一个子函数FactorialSum,在其中编写1!+2!+3!+⋯+n!的计算
    • 🌴 从键盘输入一个正整数
    • 🌴 在子函数中给出计算阶乘的方法
    • 🌴 调用子函数FactorialSum
    • 🌴 输出返回结果

💦1.2 案例三代码演示

#include<iostream>
using namespace std;

// 计算1!+2!+3!+...+n!的值
double FactorialSum(int n)
{
    int sum=0;
    int a=1;
    for(int i=1;i<=n;i++)
    {
        a*=i;
        sum+=a;
    }
    return sum;
}

int main()
{
    int n;

    // 从键盘输入一个int型数值 ,n表示我们要算的阶乘的上限数 
	cout<<"请输入一个int型数值:"<<endl; 
    cin >> n;

    if(n < 10)
    {
        cout << FactorialSum(n) << endl;
    }    
    else
    {
        cout << "out of range" << endl;
    } 
}
			

💦1.3 案例三运行结果

  • 🍒🍒 当n没出界时:

在这里插入图片描述

  • 🍒🍒 当n出界时:

在这里插入图片描述

💻 结语

🍻🍻到这我们的任务就结束啦!!!🌝
感谢大家的阅读 如果在内容方面有什么问题的话可以
在评论区或私信告诉我吧
博主小要求🙏🙏 如果这段对大家有用的话 就给博主
一个免费的点赞👍+评论✉️ +收藏💻吧!!!
感谢大家啦💙💙💙

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。